Jump to content

flachdrache

Members
  • Posts

    397
  • Joined

  • Last visited

Everything posted by flachdrache

  1. flachdrache

    Ivy

    Great that we all struggle with the same ideas - i got an generator for this, which grows the ivy on the objModel[part] ... i then put it in zBrush, reTopologise the roots of evil and project that on the new(lowpoly)mesh which then should ouput the normalmaps too ... there was an topic @doom3world some years ago in which this was discussed too. Iam bound to something else, atm, again but the fun part might be how to light that this with deferred rendering (backside & halftransparency).
  2. Its some windows interns ( winuser.h iirc ).. write this after your "pragma once" #pragma once // Windows headers, LEAN_AND_MEAN after engine.h (pointless?!) #ifdef WIN32 #define WIN32_LEAN_AND_MEAN #include <windows.h> #include <winuser.h> #endif
  3. You most likely need the prePlaning done first - the whole technical side grows from the game bounds you have to define first. Found this one years ago - its somewhat indie standard imho e.g. most people road at least parts of it. http://www.ics.uci.edu/~frost/GameDesign/ClawDesignDoc.pdf The more you know about how your game will "work", the easier youll find to "write down" the technical solutions to the design proplems. Healthbars and digi fonts displaying your ammo etc. became somewhat "oldschool" - its more common to "remove" the standard h.u.d. and to use indicators instead or to show the h.u.d. only in a fight situation (only if its actually needed). funFact : i use a heart and a brain decal "onscreen" texture which goes from red to black / blue to black ... if it gets grey the player knows he/she needs to do some healing.
  4. .. since which version is that true ? PS: oh nose - we now got an ninja smile
  5. - move it out of program files, use c:Leadwerks Engine SDK (or such simple) - if its not the demo SDK, run the updater on the new folder again - have all leadwerks sdk in that folder (dont copy its tools around - because of ini, config files) - reinstall openAL + if you move folders - you might have to check your system privileges for the SDK folder, as an administrator
  6. As a starter you should pick the latest version since you can get the most help with it ... there are always these ghosts you have to overcome though.
  7. Hey - iam puzzled as well since its a nice to have ... the guess i made was geared forward to gamelibs implementation which i guess just hooks the bodys mass center to a joint ... momentum usually will do the rest for us imho. I mean, its a physics lib if using joints all we can control is joint stiffness afaik. PS: i just saw your "The good news about computers ..." quote ... dont mind, i just meant that we have to fight for our hard disk drives now - or we will get pre-configured. (censored) @Engineer Ken - dont you just try to outsmart newton lib ?!
  8. ps : your statement is wrong - as soon as the cloud`s going to reconfigure your pc config to better read its data youll know what i mean.
  9. For what is it used then ?! ... you should forget about the "correct" way in computer games since its stated as being "allways" to expensive to calculate - e.g. if you want/can use joints controll its rigidity and let it add up to object mass ... but you know what i mean.
  10. one of the several reasons why my players wear dusk masks ... you road the fpsWeapon artikle ?!
  11. That might was planned but Web 2.0 is right now ... while HTML5 is 2years away.
  12. The first two links you posted do pretty well describe the difference between current and new standarts in terms of layout ... everything used to be a treenode which might be going to be more open "at a glance".
  13. Web2.0 is more a technical term - look at html5. If one is going to write a quote, one writes a quote and not a small headline in quotes. PS : iam out-of-business for quit some time now - but i believe its all about being "barrier-free" ... it can be better interpreted/translated.
  14. i dont mind no more tbh - as i was new with le, with a c/c# background jumping into lua, it would have been pure chaoz to skim through pages of bmax to find an answere about a certain topic ... but i would think the other way around e.g. the forum software p.m.`s topic starters to close the topic with the solution if 14 days passed w/o an update. People started to do this by themself by adding a "solved" to the topic title. tbh - currently its often just random guessing under undefined headlines. LEadwerks forum is kind of strange - i mean we write computer games ... and if a question pops up three days before one gets there he/she/it cant do anything about it or have to wild guess themself with the current set of knowledge ... kind of doing w.i.p. answers or two guessers are better then one. ... having a better search option could deal with all that e.g. search solved/not-solved topics to begin with.
  15. tbh. i texture the whole model with an "invisible.jpg" and texture the visible faces with its real texture(s) afterwards - so, leadwerks engine "does not" process them but i still have these faces in the model for several reasons ... flat plane is what is called a "simple patch mesh" in the doom3 generation of map design tools which was introduced as "curved-sufaces" in quake3arena, its spline based afaik - this plus spherical, planar and cylindrical UVW mapping would be great. and selecting surfaces by texture, selecting all brushes inside another brush volume.
  16. flachdrache

    WITCHGATE

    Hmmm, i know crazybump, its great for photo sourced textures but it sometimes makes the look of "overinflated" - however you could get the depthmaps from it and extract the models surfaces with it using zbrush or something similar ... basically for what the tesselation thing is good for. ;p
  17. flachdrache

    WITCHGATE

    Load the diffuseMap into the alphaChannel (A8R8G8B8) of the normalMap and use some such settings : ...// specular=0.4 bumpscale=1.0 gloss=0.8 //shader="abstract::mesh_diffuse_bumpmap.vert","abstract::mesh_diffuse_bumpmap_specular_detail.frag" shader="abstract::mesh_diffuse_bumpmap.vert","abstract::mesh_diffuse_bumpmap_specular.frag" shadowshader="abstract::mesh_shadow.vert","" If you send me one of your diffuse textures i could figure some workflow for you using TheGimps normalMap plug-in (not the nvidia one). hth, low
  18. flachdrache

    Navigation Win

    ... and they are harder to hit e.g. one bullet three hits But thats for what group leaders are good for - the grunts do move relative to the leader.
  19. flachdrache

    Navigation Win

    right - i just mean that in old school games if the designer throws enemy at the player the player got used to look right behind him/Her because yesterday`s ai might do walk just in straight lines ... by offsetting the approach, the player is challenged to pay more attention to the surroundings, enemy behavior he already has experienced etc.
  20. flachdrache

    Navigation Win

    Welcome in the wonderfull world of ai debugging - you can spend a lifetime with this. I actually cant say anything about it so far ... but the shortest path aint always the smartest however - will work for zombies ( see you = yummy yummy) but soldiers etc. might move perpendicular to the player movement while they are still hidden to the player ... well, dont know how to describe in english - i mean approaching tactical. PS: iam a fan of building the node graph from the polygon center of the navmesh however. Still the same area but lowers the need of tweaking the agents radius to not get stuck. But its used the way it is because its way more optimal performance wise i guess. nice work anyways so far.
  21. Whoops, the mesh.vert need to have "cubecoord" defined of course and its content should look somwhat like this ... // ... texcoord0=gl_MultiTexCoord0.xy; texcoord1=gl_MultiTexCoord1.xy; //#ifdef LW_CUBEMAP cubecoord = modelvertex.xyz - cameraposition; cubecoord = reflect( cubecoord , normalize(nmat * gl_Normal.xyz) ); //#endif nmat = gl_NormalMatrix * nmat; // ...
  22. Hey, i made a small modification to the early released "river node" ... or the river.frag to be precise. You most likely want to build roads as usual, carve its river beds with it and replace the road material with the following. the material file : color=1,1,1,0.85 texture0="riverwater04_color.dds" // diffuse texture1="riverwater03_nm.dds" // normal texture2="tag::rendercolor" texture3="tag::renderdepth" texture4="river_UnderwaterCube.dds" // diffuse or ambient cubemap shader="abstract::mesh_diffuse_bumpmap.vert","abstract::river.frag" zsort=1 depthmask=0 bumpscale=50 cullface=0 the "river.frag" : #extension GL_ARB_draw_buffers : enable #define LW_DIFFUSE texture0 // added - colormap #define LW_CUBEMAP_DIFFUSE texture4 // added - cube surface map #define LW_BUMPMAP texture1 #define LE_REFRACTION texture2 #define LE_DEPTHBUFFER texture3 uniform vec3 cameraposition; uniform vec2 buffersize; uniform vec2 camerarange; include "abstract::greyscale.txt" include "abstract::DepthToZPosition.frag" // added #ifdef LW_DIFFUSE uniform sampler2D LW_DIFFUSE; #endif #ifdef LW_CUBEMAP_DIFFUSE uniform samplerCube LW_CUBEMAP_DIFFUSE; #endif // -- #ifdef LW_BUMPMAP uniform sampler2D LW_BUMPMAP; #endif #ifdef LE_REFRACTION uniform sampler2D LE_REFRACTION; uniform sampler2D LE_DEPTHBUFFER; uniform float refractionstrength = 0.01; #endif varying vec3 vertexposition; varying vec3 T,B,N; varying vec2 texcoord0; varying vec2 texcoord1; varying vec3 cubecoord; varying vec4 modelvertex; varying vec4 fragcolor; float fOcclusionShadow = 1.0; uniform sampler2D texture14; uniform float terrainsize; uniform vec3 terrainscale; uniform float bumpscale; uniform float specular; uniform float gloss; //Terrain color map uniform sampler2D texture12; uniform float apptime; void main(void) { vec4 diffuse = fragcolor; vec3 normal; float shininess = 0.0; vec2 texcoord=texcoord0;// only use this because of parallax mapping float selfillumination = 0.0; //mod texcoords for diffuse map - //rivernodes might cant deal with anglemod it seams ... texcoord.y += apptime / 20000.0; vec2 terraincoord; float terrainresolution; #ifdef LW_DIFFUSE // added diffuse *= texture2D(LW_DIFFUSE,texcoord); #endif #ifdef LW_CUBEMAP_DIFFUSE // added diffuse = vec4( pow(diffuse.xyz, 1.0-(textureCube(LW_CUBEMAP_DIFFUSE, cubecoord).xyz)), diffuse.w); #endif normal = N; #ifdef LW_BUMPMAP vec4 bumpcolor = texture2D(LW_BUMPMAP,texcoord); bumpcolor += texture2D(LW_BUMPMAP,vec2(texcoord.x+0.5,texcoord.y+apptime / 20000.0)); bumpcolor /= 2.0; normal = bumpcolor.xyz * 2.0 - 1.0; normal.z /= bumpscale; normal = T * normal.x + B * normal.y + N * normal.z; normal = normalize(normal); #endif #ifdef LE_REFRACTION diffuse.a=0.25; vec4 refractionvector = vec4( gl_FragCoord.x/buffersize.x, gl_FragCoord.y/buffersize.y, gl_FragCoord.z, 1.0 ); float backgrounddepth=texture2D(LE_DEPTHBUFFER,gl_FragCoord.xy/buffersize).x; backgrounddepth=DepthToZPosition(backgrounddepth); float foregrounddepth=DepthToZPosition(gl_FragCoord.z); float rmix = clamp((backgrounddepth-foregrounddepth)/1.0,0,1); vec4 refractionvector2 = refractionvector + refractionstrength * vec4(normal,0.0) * rmix; backgrounddepth=texture2DProj(LE_DEPTHBUFFER,refractionvector2).x; diffuse = diffuse * rmix + vec4(1) * (1.0-rmix); vec4 transparency; if (backgrounddepth>gl_FragCoord.z) { backgrounddepth=DepthToZPosition(backgrounddepth); transparency = texture2DProj(LE_REFRACTION,refractionvector2); if (rmix<1.0) { transparency = transparency * rmix + (1.0-rmix) * texture2DProj(LE_REFRACTION,refractionvector); } diffuse = transparency * diffuse; } else { diffuse = texture2DProj(LE_REFRACTION,refractionvector)*diffuse; } #endif vec3 adjustednormal = normal*0.5+0.5; float adjustedgloss = gloss; //Diffuse gl_FragData[0] = diffuse; gl_FragData[1] = vec4(adjustednormal,diffuse.w); gl_FragData[3] = vec4(0,0,0,diffuse.w); shininess=clamp(shininess,0,1)*0.5; gl_FragData[2]=vec4(shininess,gloss,0.0,diffuse.w); } note : texture2="tag::rendercolor" texture3="tag::renderdepth" do need to be present and unobstructed too. e.g. on surface, model construction : local world=CurrentWorld() SetWorld(fw.transparency.world) self.rivermesh=CreateMesh(nil) SetWorld(world) ... should all be self-explanatory - hf.
  23. If you get the "2003ResKit" for windowsXP - from microsoft.com, youll find a tool called "robocopy.exe". It is used to mirror/backup folders from HDD to USB ( or other hard devices ) ... i prefer local backups over internet dropBoxes because one of my ISP managed to leak edited photos i made to the public once ( one showing me slayed to death ) - oh, they where on the server but not on the website ... Anyways, if you give your USB drive a fixed drive letter ( in computer administration - data drives ) you can mirror folders and dont loose / get a new name for the drive on next boot ... command line is like : C:\XPTools\Tools\2003ResKit\RoboCopy.exe "C:\DevLab01\Le23DevDemo\AssetData" "Z:\back_projects\AssetData" /MIR I suggest to give it a real name and dont let the system call it "1" or the ms media player might synchronize it to death while confusing USB drives with Mp3 players. suggestions ?
×
×
  • Create New...