• Hey, guest user. Hope you're enjoying NeoGAF! Have you considered registering for an account? Come join us and add your take to the daily discourse.

UDK Thread: Unreal Development Kit

USIGSJ

Member
In this case it is, you can see that's a pretty high number (Crytek for instance recommends keeping it under 2000 for gameplay http://freesdk.crydev.net/display/SDKDOC3/Asset+Performance+Guidelines) and that render time is dominated by it. That's why instancing or merging lots of smaller meshes is recommended when having many of them. This is a useful vid to give a general idea when designing assets and scenes how to keep the performance in check.

http://www.youtube.com/watch?feature=player_embedded&v=wWi4hqTOoGQ

I haven't worked much with animation part or it's performance so can't help much there (it's been really assets and scenes); but didn't they make crowds system in Gears 2 to be able to render large number of animated mehses without a noticeable performance hit. I'm not sure though if you can assign your custom animation there or it was really a one situation specific feature they made for the game just to have those bots running from one point to another.
 

Blizzard

Banned
Thanks for the very helpful input!

I've seen the crowds feature mentioned a few times, and I should really probably try it at least once. What I feel like from what I've read is that it's basically intended for a group of identical skeletal mesh units to move from a start point to a destination point via slightly varying paths yes, along with pathfinding and navmesh and all kinds of potentially performance heavy stuff that I don't want to use.

What I'd need to look into is overriding the group agent or unit or whatever, to see if I could individually control the position of each element in a group instead of using the start-to-end pathfinding navmesh stuff. I saw at least one youtube example of 200 robots controlled via I believe an external DLL instead of the normal navmesh routing. That's the sort of thing I want to do, but it seemed like their performance, though better than default, was still pretty bad.

Thanks again. It's been encouraging that at least a couple of people haven't treated me as totally crazy for experimenting with these sorts of numbers, even though I probably am. :p
 

Blizzard

Banned
Is there any good way to get fog, like exponential height fog, without visible color banding artifacts? I can't seem to find the right terms to google for it, or else other people haven't solved it either. :p
 
Is there any good way to get fog, like exponential height fog, without visible color banding artifacts? I can't seem to find the right terms to google for it, or else other people haven't solved it either. :p

Not quite sure what you mean with color banding artifacts but I made "fog" with a similar particle system as this Smoke tutorial:
http://www.youtube.com/watch?v=1GmlIfTsRaQ

Just the volume was lower, with a bigger area and it was slower.

edit: oh I see.
 

Blizzard

Banned
Not quite sure what you mean with color banding artifacts but I made "fog" with a similar particle system as this Smoke tutorial:
http://www.youtube.com/watch?v=1GmlIfTsRaQ

Just the volume was lower, with a bigger area and it was slower.
I mean the slight bands that occur on solid areas, like in a sky, as the color changes:

bandingduuhe.png


I think it's due to the exponential height fog option that blends the sky down to the horizon, but I don't know a more high quality way to do it.

On another note, tonight I learned the basics of making archetypes and using the crowd spawner system. There was a weird thing for a while where I was getting 3x the draw calls doing crowd robots than plain skeletal mesh robots. Turning off one of the many options brought it down to the same number as plain skeletal meshes, but the crowd system still seemed to have slightly worse performance with all the robots sitting still and animating, than an equivalent number of plain skeletal meshes sitting still and animating. This isn't too surprising since presumably there's some sort of Tick being called and going over the crowd robots even if they aren't doing anything.
 

Minamu

Member
It seems some graphical defects are still pretty common even in AAA titles so going overboard with quality may not be necessary sometimes. In Bioshock Infinite, I've seen rocks with a few inverted polygons, lighting volumes not activating until the player has already entered the room (ie, the sunlight exploded into existence as I entered) and baked lights from outside or a second floor leaking into rooms below, casting lights on walls that shouldn't be affected by it.
 

USIGSJ

Member
I think it's because of the light transition through the fog causing harsher gradients. Setting light inscattering brightness to 0 would not completely remove it, however if will "stretch out" those transitions to be less noticable. Of course, on the top side you won't have light affecting the fog, so I'm not sure if its that smart to do it.

It's probably best to have something like a mesh under it or some panning myst layer (essentially the similar thing you do with shadows by using some noisiness in the texture to cover the artifacts). Maybe old way of using 2 plain height fogs like in older version of the maps would be better here.

Also you can avoid decrease some banding around the mesh itself by lowering bloom value in the world properties. Try setting to 0.2 for example from 0.8.
 

Blizzard

Banned
I have bloom completely turned off in world properties. Panning some material might make it less obvious and so forth. Mostly I just wondered if there was some simple way to fix it like a quality option, since banding in halos, skies, etc. is something that people seem to complain about in say, the screenshot thread, but I don't really know of any way to avoid it, at least using this sort of height filtering. :/
 

USIGSJ

Member
Doubt you can completely eliminate it, even elemental demo has some ugly banding in a scene where they zoom on the knight. Best way to cheat around is to cover it up with textures I guess.
 

Blizzard

Banned
Is anyone aware of a (super efficient) way to do billboard/sprite textures, such that they always face the screen? I found this thread, which resulted in people failing to ever accomplish the full task (such as using billboard textures for minimum LOD): http://www.polycount.com/forum/showthread.php?t=79143

I think I've previously done this sort of thing by making an actual UnrealScript object and rotating it to face the camera every tick, but that seems super heavy. What makes me especially sad is that as far as I know, the SpeedTree system even generates billboard/sprite textures, and possibly uses them for minimum LOD, yet I don't know any way to get that functionality from the engine outside of SpeedTree.
 

USIGSJ

Member
I think I've saw some shader for hair like in samaritan some time ago, but can't find that thread now. It seems however there's one material function for spline to plane using texture, so it might be possible to pull off some hack. Here though it didn't turn out so well. But probably the best way to pull off with some uscript, every actor icon you place in the editor does exactly that.

http://forums.epicgames.com/threads/906086-Realistic-hair-Samaritan-vid


Need some eye candy on this page. Some pretty good looking landscape wip, at a first glimpse those pics looked like some reference.

http://www.polycount.com/forum/showthread.php?t=118116
 

Raxious

Member
Hey guys, I got a question. I've been trying to get a FluidSurfaceActorMoveable to get attached to a DynamicWaterVolume, so I can move the 2 in a Matinee sequence. However, it seems that they wont attach, no mather what I do.

According to the properties of the SurfaceActor, the Volume is attached to it, but when I move it in Matinee, the Volume won't move. I can add a seperate folder for the Volume, and move it. However, once I play it ingame, it doesn't move.
 

USIGSJ

Member
Have you tried this ( post #6)?

http://forums.epicgames.com/threads/749567-Moving-water-volumes

I did a test with attaching a dynamic water volume to the fluid surface actor in kismet then moving fluid actor itself in matinee. Water volume got moved with it. Been quite awhile since I used kismet, but this seems to work. http://www.abload.de/img/wv7cuwz.jpg
Btw there used to be that attachment editor to make the job easier, can't find it in my build (feb 2012), guess it got removed.

http://udn.epicgames.com/Three/AttachmentsBrowserReference.html
 

Blizzard

Banned
I think I've saw some shader for hair like in samaritan some time ago, but can't find that thread now. It seems however there's one material function for spline to plane using texture, so it might be possible to pull off some hack. Here though it didn't turn out so well. But probably the best way to pull off with some uscript, every actor icon you place in the editor does exactly that.

http://forums.epicgames.com/threads/906086-Realistic-hair-Samaritan-vid


Need some eye candy on this page. Some pretty good looking landscape wip, at a first glimpse those pics looked like some reference.

http://www.polycount.com/forum/showthread.php?t=118116
Yeah, SpriteComponent may be one possibility from UnrealScript but I'm still not sure what issues may come up especially if it's an animated sprite. And there's also DynamicSpriteComponent, who knows if that's better or worse.

That Antarctic scene looks cool, though I guess because I have no posts on polycount I can't view attachments.
 

USIGSJ

Member
Oh, forgot about that. Anyway it's the same thing like in the video, just different camera position. On page 2 he does a breakdown of the scene.
 

Raxious

Member
Have you tried this ( post #6)?

http://forums.epicgames.com/threads/749567-Moving-water-volumes

I did a test with attaching a dynamic water volume to the fluid surface actor in kismet then moving fluid actor itself in matinee. Water volume got moved with it. Been quite awhile since I used kismet, but this seems to work. http://www.abload.de/img/wv7cuwz.jpg
Btw there used to be that attachment editor to make the job easier, can't find it in my build (feb 2012), guess it got removed.

http://udn.epicgames.com/Three/AttachmentsBrowserReference.html

I never thought of adding both of em through Kismet, I'll give that a shot later today.

Edit:
Thx, that actually worked, same that I cant add a PostProcessVolume as well though :(
 

Blizzard

Banned
SpeedTree Modeler won't run for me. I don't think it's tied to ATI/Windows version but who knows. I've had this problem for years. There was a suggestion that it's related to tablet drivers, but I stopped those services. Haven't yet tried uninstalling all tablet driver since I'd rather not. It used to run when I replaced EyeCommon.dll with an old version, but even that doesn't work now so I guess something else on my system now conflicts. It just freezes once it reaches the startup screen, and menus don't work.
 

Raxious

Member
So this is what I have right now, it's a WiP level that I have to make for school:

http://www.youtube.com/watch?v=sT6EVFeglk8&

as the description explains it's not done yet.

It's been really tough to get a Dynamic Post Process Volume working together with a FluidSurfaceActorMovable and a Dynamic Water Volume. This is something I worked on for the past 4 weeks on and off, with now 9 weeks of experience in UDK. It's not the greatest level you've ever seen, but im proud of it :p

A lot of the stuff I've added with Kismet, like the doors and lights ofcourse, but also the Sprint function and the flashlight. The only thing I have with the flashlight right now is that it doesn't move up and down with the camera, only left and right.
 

Minamu

Member
Same problem here with the flashlight :lol You're gonna hhave to use scripts or an older version of udk if you want to get a better flashlight. They changed how the camera works in Kismet a while back, that's why it's broken. There should be scripts for online somewhere, jsut gotta google a bit. Let me know if you find anything, I need it too.
 

Blizzard

Banned
Some minimal UnrealScript should be able to give you a better flashlight rotator, but you'll have to go through the learning curve of setting it up and making the code get used or whatever. It's not too bad.
 

Raxious

Member
Is there actually an easier way to make bots through kismet that won't attack eachother, so they only attack the player. I don't want to put the game on TeamDeathmatch mode, as it's supposed to run as UTgame.
 

B.K.

Member
Is there any other place to download UDK other than Epic's site? I need to download it, but it would be nice if Epic offered a torrent of it. It's going to take almost nine hours to download and with my luck, the connection will time out during the download and I'll have to start again.
 

Minamu

Member
I don't know about torrents but there are sites that keep at least older versions available. It's a bit random though afaik.
 

USIGSJ

Member
For changing materials in game you need to use MaterialInstanceTimeVarying. You'll also need some trigger to activate that cahnge. One way you could do it is like door animation in matinee where you would change scalar parameter, press triger > change to other state, release > revert to original. Other way would be to use Set ScalarParam node with trigger essentially doing the same thing (material A in one slot of the lerp, material B in other, and 0 or 1 switches between them).
Wall color here takes some time to change so I'm guessing it's matinee change between two values. For making objects transparent you could just change the value with that node or again use matinee with some really short period to make it look instantaneous.
 

Raxious

Member
Guys, I got a question. I'm working with a group on a multiplayer level, and there's supposed to be fog at certain area's. However, the normal fog doesn't look right, so we added a HeightFog in the whole level. Now even though that fog actually looks good, there's 1 problem.

The whole map is now filled with fog, which ofcourse, isn't our intention. Now I have no idea how to solve this for a multiplayer map. I tried to solve it by adding trigger volumes at the places that the fog shouldn't be, but it then triggers the fog for all the players.

Any suggestions on how I can solve this?
 

USIGSJ

Member
I think it should be possible to change the value for each player separately, but you'll need some programmer who knows better how things work with mp stuff.

Have you tried using exponential fog instead. Set it so it's not too dense for all parts of the map, then you could cheat where you need more dense areas with fog sheets or fog volumes. It's more hacky solution but it should work.
Also when using it you need to be careful with values for density, height location of the actor also matters.

Also I'm not sure if you tried using matinee to change values such as density and color instead of triggering it whole on/off would give the same problem in mp.
 

Raxious

Member
I think it should be possible to change the value for each player separately, but you'll need some programmer who knows better how things work with mp stuff.

Have you tried using exponential fog instead. Set it so it's not too dense for all parts of the map, then you could cheat where you need more dense areas with fog sheets or fog volumes. It's more hacky solution but it should work.
Also when using it you need to be careful with values for density, height location of the actor also matters.

Also I'm not sure if you tried using matinee to change values such as density and color instead of triggering it whole on/off would give the same problem in mp.

I just ended up placing FogVolumeConstantDensityInfo actor's at the places I needed the fog. That way, I don't need kismet, programming or anything else.
 

Tain

Member
Bit of a longshot here, but does anybody know if it's at all possible (preferably via UnrealScript!) to rotate the final image the user sees? Not just the camera's orientation in the worldspace.
 

Blizzard

Banned
Bit of a longshot here, but does anybody know if it's at all possible (preferably via UnrealScript!) to rotate the final image the user sees? Not just the camera's orientation in the worldspace.
This is a bit of a wild guess, but try looking into the postprocess shader options. There might be a way to set up a rotator texture parameter, which can hopefully be controlled from UnrealScript or Kismet, apply to the overall screen.
 

Raxious

Member
OK, so here are some pictures of the stuff I've been working on, but first some backstory:

We're working with a group of 30 people on a school project, which is to develop a game in 9 weeks. Now our game ended up to become a FPS moba type game. Now instead of a map with a jungle theme, as League of Legends has, our game will have a Steampunk theme. For that reason the jungle exists of a city. The river also turned into a wall that's accessible, and features jumping pads to go from lanes/jungle to the wall.

I've been working on multiple blocking levels of the past 3 weeks, and right now this is the version that's up to date with the latest feedback that I had recieved:

6qkfDMi.jpg

gUQtMDN.jpg

W87lFGB.jpg
 

Minamu

Member
Holy hell 30 people? What does the team look like skills wise? It was very hard to even coordinate 15 people last year in the same kind of project. Am I right in understanding that you guys are making a whole game programming wise etc and not just a mod?
 

Raxious

Member
Holy hell 30 people? What does the team look like skills wise? It was very hard to even coordinate 15 people last year in the same kind of project. Am I right in understanding that you guys are making a whole game programming wise etc and not just a mod?

It's a complete game, no mod.

We have 5 teams, Level, Sound, Character, Programming and Art:

= Programming, programs the stuff.
= Level, creates the level, and fills it up with the meshes etc.
= Sound, creates the sounds for the level.
= Character, creates the characters and gives them animations.
= Art, works on the static meshes, textures etc.


It actually works pretty well, we're testing the Block level further and hopefully have a definitive version today / tomorrow. The programming team has working turrets, minions and barracks that can be added, and they also got a few abilities working.

We still got about 7 weeks, but I'm confident we'll be finished. My main job will be working on a tutorial level just like League of Legends has.
 

Minamu

Member
The amount of people is pretty crazy but it'll be fine, I'm sure :) It's not my kind of game but I like the shape of the level at least.
 

Raxious

Member
So I'm trying to get the tutorial set up, however I want to do it like the player has to look left / right / up / down, how would I do such a thing in kismet? There's no 'Look At' block in kismet which I can use.

So it would be like this:

- Voice telling the player to look left
- Player looks to the left and aims at a mesh
- Voice tells good job, now look right

etc.
 

Tain

Member
This is a bit of a wild guess, but try looking into the postprocess shader options. There might be a way to set up a rotator texture parameter, which can hopefully be controlled from UnrealScript or Kismet, apply to the overall screen.

I tried this briefly after seeing this post and got pretty bad results, but it might be the right direction. I'm using a forced aspect ratio camera and it might be wreaking havoc with the post processing so I might just abandon the idea if I can't get it working. Either way, thanks!
 

Minamu

Member
Are there any easy to follow tutorials out there for setting up a game project? As you might remember, I was part of a student team last year and I'd like to create an installer for that game, so everything is in order file wise, I just don't know where to place each folder for Frontend to recognize the source code, packages and maps etc. It's been over a year and neither I nor my programmers remember the folder structure system.
 

Blizzard

Banned
Are there any easy to follow tutorials out there for setting up a game project? As you might remember, I was part of a student team last year and I'd like to create an installer for that game, so everything is in order file wise, I just don't know where to place each folder for Frontend to recognize the source code, packages and maps etc. It's been over a year and neither I nor my programmers remember the folder structure system.
I'm not sure about a tutorial, but the easiest way is probably to download the latest UDK version (or get the one from the Oculus SDK), install it, and compare folder structures.
 

Minamu

Member
I'm not sure about a tutorial, but the easiest way is probably to download the latest UDK version (or get the one from the Oculus SDK), install it, and compare folder structures.
I'm sorry, I meant more like your own structure within the udk folder structure. Our own source code is supposed to be in a folder with the udk Src folder etc (I think).

Edit: I'm using this tutorial: http://www.hourences.com/an-entire-simple-udk-game/ to help me but some things are still broken, like getting this strange message "Failed to find supported game type(s) for *map*" and it's not booting directly into our own menu and some additional things like the ground and the second player not showing up at all.
 

Mik2121

Member
Yesterday I started working on a new piece of environment using UDK, hopefully I can get some more stuff done soon and post some screens here. I'm also doing the concept art by myself so it's all 100% original, or at least about as original as you can get these days, which means putting things you've seen in many places, together, and hoping it works :)

I'm taking mostly inspiration off DeusEx when it comes to neo renaissance mixed with science fiction.
 

Minamu

Member
On that note, where can I find good tutorials for Maya and texturing and such? Lack of content is an issue for sure :(
 

USIGSJ

Member
Which tuts do you need for Maya, some intro level on program use and how it's modeling tools work or something more specific like weapon, vehicle, character, environment modeling? Also, free tuts only or do subscription ones count too.

As for free ones, there's a lot of stuff on youtube and vimeo, but it can be a bit hard to find. But you can always try something like searching for terms like: maya modeling weaponA, vehicleB or a specific object. Here is one on the workflow for making a scifi door. This includes that you already know how to use tools such as extrude, insert edge loop; it's pretty much just using those for the whole video.

http://vimeo.com/14118338

Also if you expand the search to non maya programs it can be more helpful. Sometimes you won't have a specific tool or process of doing some action will take different step, but most of the time how tools work and which ones you'll use are the same. Here are several vids for 3dsMax, again all really applies to Maya too.

http://vimeo.com/10941211
http://www.polycount.com/forum/showthread.php?t=100984
http://www.polycount.com/forum/showthread.php?t=118043

For texturing try here:
http://wiki.polycount.com/TexturingTutorials#Vig.27s_Collection_of_Bookmarked_Tutorials

Now for sub tuts, I'm not sure if leaving the links would count as advertising so I'll leave them out. Ones that you should check out though are 3DMotive (pretty extensive on game workflow; modeling, sculpting, texturing, game engines), Eat3D (also has a lot of game workflow stuff), Digital Tutors (filter out for Modeling, Texturing category for a specific software and look for the ones that have game or next gen in the title).
 

Minamu

Member
Aah yes, Maya was just an example but thanks anyway! :) And yeah, I'm new to it all, though I assume having used udk for a while will help with extrude etc?
 

USIGSJ

Member
Yeah, the idea how it works is the same, although the options it offers are more limited compared to a modeling app. So then you should probably start with some introductory course till you get used with the interface and basic modeling toolset. Most of the time you'll be really using 5-10 tools for modeling. Probably the best way to find free courses is by searching for a tool and then checking out it if has a playlist. Here are 2 I found by looking for extrude tool videos. Of course those sub courses also have intro courses for software.

http://www.youtube.com/playlist?list=PL800659D9B9D84C78
http://www.youtube.com/user/cannedmushrooms
 
3dsMax (I'd expect Maya to have them too) has really good "built-in" tutorials too that guide you through basics of modeling, rigging and texturing.
 

Raxious

Member
So I'm trying to get the tutorial set up, however I want to do it like the player has to look left / right / up / down, how would I do such a thing in kismet? There's no 'Look At' block in kismet which I can use.

So it would be like this:

- Voice telling the player to look left
- Player looks to the left and aims at a mesh
- Voice tells good job, now look right

etc.

I'm gonna quote this message, I'm still looking into this but I just cant seem to find out how to do this exactly, anyone got a clue?
 

USIGSJ

Member
Is this to happen in FPS or moba game perspective? Doing it moba style would be much more convenient because you could just make the player enter trigger area around the mesh, take control of the camera, play announcement, return camera control to the player.

If you plan to do it from a FPS perspective, I'm not sure if there's a setup in kismet for that without touching unrealscript. There's "analog input" node for mouse, however it fires whenever input is used. Maybe you could use Key/Button press node and just make the player to click on the object to play a message (like click on the ObjectX to make it produce MaterialY, etc).
But probably the best way is to keep it simple; take camera control when player gets near the object and play it like a tutorial, return control, make him go near the next object, loop...
 

Raxious

Member
it's a FPS styled game, so the tutorial will be done through FPS view. I might combine the camera movement together with the player movement, and just have the player walk to specific places and start a trigger when he hits the spot.

Wasn't what I was hoping for, but I can't think of a better reason to do it.
 

Minamu

Member
I don't know much about Kismet's capabilities but it sounds to me like you need programming skills of some kind with actual code to create your original idea, as good as it is. Or you might be able to check if an object has been destroyed, by making the player shoot at the mesh and not just looking at it?
 
Top Bottom