Jump to content

Level design for Painkiller


KoKo5oVaR
 Share

Recommended Posts

Hey everyone !

Since yesterday i was trying to understand how leveldesign for Painkiller works, for those who don't remember, Painkiller is that polish game which looks slightly like SeriousSam :P.

http://kokosovar.free.fr/misc/painkiller2.jpg

Infact the mapping concept really interest me, cause it gives a total freedom to the level designers by using softwares like 3dsmax or Maya to make both modelisation and lighting.

The lighting is infact pretty awesome in my opinion, because all the static lighting is directly rendered with maya and 3dsmax render engines as a lightmap in a bitmap file like this http://kokosovar.free.fr/lightmap.jpg , and that gives you the opportunity to make really complex and accurate shadows for your map.

Same thing for the mesh of the map, the collisions are directly on the mesh's faces, not like in hl² where you have to make you own limited collision models for each mdl ..

http://kokosovar.free.fr/misc/painkiller.jpg

The problem with painkiller is that you will hardly find documentation about how to make a map from A to Z, especially with 3dsmax that i'm using ( also nobody plays it, but yeah who cares .. :-D )

So yeah i got big doubts about if one of you guys already tried mapping for painkiller :-D , but i try my luck and maybe someone could give me some infos on it and especially how to bake and setting up proper lightmaps for the game in 3dsmax ! :D

Link to comment
Share on other sites

i read some stuff about pained (same stuff that you read i guess) ... and yes the overall conept is very interesting. the only problem i see is all their super detailed cool stuff is not instanced ?! very memory ineffecient i say too memoryi neffcient to realize my visions ;) !

lambert in max ey ?? sorry cant help you there but i thougehd you were suppposed to map for it only in maya anyway

Link to comment
Share on other sites

FUCK YEAH i managed to get it working with 3dsmax, and it's infact really really simple

painkillerwoo.jpg

now it's time to make a proper map with it :D

And if any of you guys are interested in a tutorial about how to make a map for painkiller with 3dsmax, i could write a little something to get you started really quick

Link to comment
Share on other sites

i am really really interested in this i dont have painkiller but i might pick it up (today) just because i want to know ^^ how do they handle the lighting on their instanced detail models ?! arent they instanced ? is the lighting on em vertex based ? tnl ? are they not lit in maya/max but only in the editor ? or the engine ? and are those detail models lods ? does anything in that engine get loded ? have they 100 million dublicate materials for each new ligthmap sheet ===?===

I MUST KNOW ! :cry:

Link to comment
Share on other sites

Warbeast : there are two official UT2004 levels utilizing the same method. You can look and try it out in UT too if youre so curious about it.

The whole technique is not very new of special. Most console games are made like this. Killzone for example is made completely like this and imo it is complete and utter crap. This type of workflow is typically made by companies who happen to wrote their own engine but then cant be bothered to actually write decent tools for it as well.

I tried to make a UT2003 level with this technique long ago but gave up because of extreme iritations. I also worked more than a year professionally on a project (Shellshock, Killzone engine and company) using this workflow (model and place stuff in Maya, light it in Maya, render Lightmaps in Maya and export them) and its really not fun at all. In fact it was one of the reason why I quit the job. I didnt feel free at all because everything takes ages and a lot of frustration and lack of control.

You have zero preview ability. You have to push Render all the time and that is really really crappy if every render takes 5-10 minutes to show a low quality preview! Imagine how long it takes to do basic tweaks for the lighting.

It's also really slow to render out if you use decent render settings. At Shellshock we needed at least a day or more and several people just to get a level lightmapped. The Killzone lighting artist had four pcs om his desk just to render lightmaps. All four of them were left on during the nights rendering four different levels. Half the times two or more of those pcs their renders crashed when the guy came back in the next tomorow. The other times the lightmap appeared "not so pretty" and thus requiring tweaks, taking up at least another full night of rendering! Imagine how much time you need to update the lighting if you add a crate to a level after the render...

Oh and you might need to unwrap all meshes a second time for the UV2 lightmap, taking up yet another day or more of work..., altho you could also enforce a less pretty auto unwrap.

That is NOT workflow and userfriendly-ness

In theory the technique sounds awesome but once you work with it its very very iritating and slow. The engine should do this type of stuff automatically instead of forcing the artist to do extra work. Thats what tools are for.

In the game spellborn I am currently working on we can place meshes in the editor and then the editor automatically unwraps them and lightmaps all of them with a resolution the artist configured. This results in the same result yet 40 milion times faster. 5 minutes rebuild time vs a day in Max or Maya, albeit without radiosity.

Unreal engine 3 including gears of war and UT2007 will use the same method. The engine automatically lightmaps the meshes for you, instead of having you lightmap them for the engine, it also previews everything almost realtime and can render stuff lots faster=userfriendly yet powerfull and fast=the way to go

Large and instanced models (rocks, houses, corridor pieces) are typically lightmapped with unique LM'ed or indeed just vertex lighted for small models (plants, small rocks, detail, statues) to save memory.

Link to comment
Share on other sites

Infact hourences is right, i've started the modelisation of a complete level since the last week, and indeed it's not work friendly at all. You have to make 2 uvs channels, one for the color and one for the lightmaps.

Well, It's ok if you have a relatively small map, but if you consider that you have to unwrap every polygons with different mapping coordinates and putting them in several 1024*1024 bitmaps to do the lightmaps, well it's not really that cool.

And forget about the automatic unwrap in MAX, it doesn't work that good at all, you get way better results making your lightmaps coordinates yourself, but it takes time.

Link to comment
Share on other sites

yeah no i am aware of everything you 2 wrote thing is just automatic generated ligthmaps as in unreal and halflife are riddled with artifacts are highres were they don't need to be and low res were they shouldn't be they are never mapped/projected form the nangel of the sun position to reduce jaggies in the penumbras and in case of unreal no gi no ao ( the one pixel black at the edge of each uv cut fake shit there in unreal IS NOT AO!!!) in halflife 2 high res ligthmaps add lots of extra csg cuts and the mipmapping of the ligthmaps makes lots of aliasing in the distance what you both prais is also sucky methods ;) (all around unreals is much more userfriendlyand hls is much more pretty though ^^ )

the 2 unreal maps your talking about i know they use a shity system were the actual texture is more like high scaled detail texture that is not applicable for real leveldesign also i dont think they actualy use 2 different uv sets;)

i am actually more interested how they make the ligthmaps show up on a seocnd uv set in mayas viewport ! and than find out how to handle instances with this system and how the hell you keep batching under control this sounds too me like theres the need for 1.000.000.000 materials ! which would not allow for alot of polys but i know painkiller that game has tris comign out of its ass :D

Link to comment
Share on other sites

Forget Unreal and Half Life. Thats BSP lightmapping, were talking about mesh lightmapping like the next generation of Unreal will do. BSP lightmapping indeed has some issues.

I dont get what you mean with a "high scaled detail texture". DM gestalt and CTF Magma both use it. I never took a good look at gestalt but Magma has done it correctly (the castle). Tiling textures on a mesh with a uv2 lightmap overlay on top. Exactly like painkiller does it I think, or Killzone for example.

Its been two years since I last used Maya but it wasnt too hard to get uv2 going. I just forgot how :)

Dont got it installed either so cant help.

The amount of materials is reasonable. Dont look at it as a unique shader per object. The objects still use their own textures, the lightmap is just a seperate thing on top, rendered in another pass even sometimes, depends on the engine etc ofcourse tho.

Link to comment
Share on other sites

getsalt uses one texture iwth the same uvset and justa afine scale on everything that map is pretty lame all around ( also gameplay / layout etc ...)

magma now that is a fine map :D i forgot that that was the second one ... yeah that map is good stuff

Link to comment
Share on other sites

ok so much i found already just looking at the levels in pain editor

theres a lot of reusing happening in the level geometry which lead me to believe they have some magic trick up their sleeves to display ligthmaps on instances but they don't the instances are all actually merged together into one big mesh very memory inefficient :/ and sucks to change in maya if you have one fucked up ploygone you have to fix it 100.000 million times ^^ alla actualy instanced things guns pickups enemys phys objects are all tnl lit D:

next i am gonna look at how they handle their materials i am extracting their textures form the pak file right now to take a closer look (with this little helper http://forum.xentax.com/viewtopic.php?t=732) it seams they have like all their material of the level on one sheet except for the floor you can tell because sometimes theres no UV cut next to a high res trim they just do clever reusing *kudos for that* analysis will continue

Link to comment
Share on other sites

 Share

  • MapCore on Discord

  • Our picks

    • Post in Yanzl's Source Emporium
      Two new asset releases!

      First up is Basalt. Sadly I can't release all of the assets as some of the nature stuff is from Megascans and can't be redistributed. Also only includes the assets I've made.


      https://www.dropbox.com/s/e86kdqwpvhhs5x6/Basalt.zip?dl=0

      Second one is assets I've made for Pitstop. A small release that includes some road and concrete trim textures, a bunch of sponsors and some skybox buildings that might be useful.


      https://www.dropbox.com/s/x6tn3b6nfo2u77d/Pitstop.zip?dl=0

      As always, free for non-commercial use with attribution. 
×
×
  • Create New...