• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.


  • Content count

  • Joined

  • Last visited

Community Reputation

192 Neutral

About Etus

  • Rank
  1. Thanks for the advice Nick! Regarding your suggestion on doing some personal projects - would you recommend showcasing a full-scale 3D engine or a complete game, or creating several smaller demos each showcasing a specific graphics effect (perhaps implementing a whitepaper)? I'd love to hear other people's opinions as well. Thanks!
  2. Hey,   I'm looking for a piece of advice, considering that my end-goal is to land a job in the game industry as a Rendering/Graphics Engineer.   I've been working for the past year in a company that relates to the game industry( we don't make games ) as a Graphics Programmer. My main focus is not on rendering effects or game programming, but mainly doing performance optimizations to games (without having access to their source code) mainly in relation to rendering optimizations. The shaders I sometimes write, for example, are used for events detection rather than actual graphics rendering. I don't write much graphics code, mostly analyze and solve problems from the knowledge of what a specific game does.   I learned a lot so far, but I feel like the job (like any other I assume) is getting more and more routine and I'm afraid it's not the only thing needed to land a job in the game industry since I'm missing the actual graphics programming side.   I've been recently offered a job at a different company that does medical 3D simulations. While this job will definitely be more on the graphics/realism side, it won't be related to games what so ever. Moreover, as most medical 3D simulations, the rendering is done using ray tracing (or volume rendering in general) - I'm not sure if they use rasterization for that or GPGPU techniques.   From your experience - should I stick with game-related but not rendering-related jobs, or make a switch to the medical 3D type of jobs in the next few months? What will help me more to land a job further along the road? Another option would be to do a MSc in CS.   And as a side note, the gaming industry doesn't exist in my country so working in a game company at the moment isn't an options - only in the next few years.   Thanks a lot for your help!
  3. Hello everyone, My name is Yuval Sarna, 26 years old. I'm currently pursuing a BSc in Computer Science from Tel-Aviv University. In about 6 months I'm going to finish my degree, and I'm thinking about which path I should take. I'm thinking about moving abroad in order to work in the gaming industry. My main interest is Real-Time 3D Engine development, and I'm not sure what should I do. I already have some experience in this field from personal projects I did a few years ago and also from my military service(compulsory in Israel). I can either start pursuing a MSc in Computer Science with Computer Graphics subject as my thesis, or start working in a semi-related company. I can work in Medical Companies who produce 3D simulations for doctors training. What is the preference of the industry, and what should help me land a job? 2 years experience in a medical company as I mentioned, or should I spend the next 2 years studying for a MSc? Many thanks and any help would be appreciated. Yuval
  4. Hey, I'm currently trying to implement in my game an army like electro optical camera that can see to a far range. From videos I watched in youtube, it seems that there are a lot of interferences in the in the image because of weather/distance/etc. . I'm trying to simulate all of these effects, and that's where I need your guys help :) I broke down the interferences to several effects I need to implement: 1. Black and white video 2. Heat waves coming up for the ground in warm days (looks like a sine wave) 3. "Noise" on the image. More far you look, the bigger the noises look. 4. Any other effect you think would be appropriate :) I have some ideas in my head on how to do these effects, but I want to hear other offers I might not have thought about. Most of these ideas revolve around render-to-texture effects. Plus, if you can direct me to a working code sample it would be nice. Thanks!
  5. ebrarian, I looked at your screenshots and I'm not sure that you have the same problem I get. Your dome might not project shadows correctly, but the wooden model for example casts shadows on the spheres. But I'll take a look at the thread you pointed out, thanks.
  6. Ok, I got the code and a screenshot: Link to Screenshot This is the vertex and pixel shaders: VS_OUTPUT_GENERAL VS_LGeneral(VS_INPUT_GENERAL IN) { VS_OUTPUT_GENERAL OUT; float3 worldNormal = mul(float4(IN.normal,0), worldInverseTransposeMatrix); float4 pWorld = mul(float4(IN.position,1), worldMatrix); OUT.diffuseVertexColor.rgb = Shade(pWorld.xyz, worldNormal).xyz; OUT.vPos = mul(pWorld, lightWorldViewProjectionMatrix); OUT.position = mul(float4(IN.position,1), worldViewProjectionMatrix); OUT.baseTexCoord = IN.baseTexCoord; return OUT; } #define SMAP_SIZE 1024 #define SHADOW_BIAS 0.005f float4 PS_LGeneral(VS_OUTPUT_GENERAL IN) : COLOR { float2 shadowTexCoords = float2(0.0f, 0.0f); shadowTexCoords.x = IN.vPos.x / IN.vPos.w; shadowTexCoords.y = -IN.vPos.y / IN.vPos.w; shadowTexCoords += 1.0f; shadowTexCoords *= 0.5f; // transform to texel space float2 texelpos = SMAP_SIZE * shadowTexCoords; float realDist = IN.vPos.z / IN.vPos.w; // Determine the lerp amounts float2 lerps = frac( texelpos ); //read in bilerp stamp, doing the shadow checks float sourcevals[4]; sourcevals[0] = (tex2D(shadowMap, shadowTexCoords).r >= realDist - SHADOW_BIAS)? 0.0f: 1.0f; sourcevals[1] = (tex2D(shadowMap, shadowTexCoords + float2(1.0/SMAP_SIZE, 0) ).r >= realDist - SHADOW_BIAS)? 0.0f: 1.0f; sourcevals[2] = (tex2D(shadowMap, shadowTexCoords + float2(0, 1.0/SMAP_SIZE) ).r >= realDist - SHADOW_BIAS)? 0.0f: 1.0f; sourcevals[3] = (tex2D(shadowMap, shadowTexCoords + float2(1.0/SMAP_SIZE, 1.0/SMAP_SIZE) ).r >= realDist - SHADOW_BIAS)? 0.0f:1.0f; // lerp between the shadow values to calculate our light amount float lightAmount = lerp( lerp( sourcevals[0], sourcevals[1], lerps.x ), lerp( sourcevals[2], sourcevals[3], lerps.x ), lerps.y ); float4 baseTexColor; baseTexColor = tex2D(baseMap, IN.baseTexCoord); baseTexColor.xyz *= IN.diffuseVertexColor; baseTexColor.xyz *= lightAmount; return baseTexColor; } As you can see in the screenshot, the trees drop correct shadows on the terrain - but not on one another. When I play with the bias, I can get models to shadow one another - but than they also self-shadow. Any ideas on what am I doing wrong? Thanks for all the replies so far.
  7. I understand, thanks. I'll post the code on monday, I'm not at work right now and I have it on my computer there.
  8. Yeah, it's disabled. Also - I'm targetting at vs/ps 3.0.
  9. Mmm, that could be the case. I thought that DirectX Texture Tool / Photoshop can detect the dds file format and show me any subtle changes in the pixels values. Well, the shadow mapping itself works well. The objects in the world cast shadows on the terrain, but *not* on one another. That's why I thought there might be a problem with the shadow texture map. Any idea what that could be? When I don't apply any bias at all to the shadow test, the objects shadow themselves(and create a lot of wrong looking artifacts) but not one another. So I applied a bias and that solved the self-shadowing problem, but they still don't cast shadow on each other. Any idea? Thanks!
  10. Hi, I'm currently trying to implement a shadow mapping system in my engine, and I ran into a problem. I tried searching the forums and internet for a solution but couldn't find one. The problem I think is with the texture created after the first pass - the pass in which I render the world from the light view. Basically I set the worldViewProjection matrix to the light's one and render the geometry with an effect. struct ShadowPS_Input { float4 Pos: Position; float2 Pos2D : TEXCOORD0; }; ShadowPS_Input VS_ShadowMap(float4 Pos : POSITION, float3 Norm : NORMAL) { ShadowPS_Input output; //Pos.xyz += Norm.xyz * 0.1f; float4 outPos = mul(Pos, worldViewProjectionMatrix); output.Pos = outPos; outpus.Pos2D.xy = outPos.zw; return output; } float4 PS_ShadowMap(ShadowPS_Input IN) : COLOR { float4 cColor = float4(0.0f, 0.0f, 0.0f, 0.0f); cColor.r = IN.Pos2D.x / IN.Pos2D.y; return cColor; } This is the vs and ps I use. The render target is ofcourse a R32F texture format. The problem is that when I look at the texture (I save it using D3DXSaveTexture as dds) all the objects are white - meaning the ps outputs them as being far away from the light view instead of grayscaling objects which are closer. I looked at this article http://wiki.gamedev.net/index.php/D3DBook:Shadow_Maps And there he does "IN.Pos2D.x / maxDepth". I tried that, which works (the texture looks ok than), but I don't understand why he does that instead of dividing by the w componenet. Any help is much appreciated. Sorry for any English mistakes btw... Thanks, Yuval
  11. Hi, I'm currently trying to impelemnt a grass system in my engine on the terrain, and right now I'm struggling with finding a good way to place grass in the right places. I've read a lot of papers and looked in the forums, and the best thing I came up with is to use a coverage map to decide where the grass will appear. What I don't understand is how I can place the grass billboards based on the coverage map? I know I can read the file into an array and find out the positions I need, but I want to do it on the GPU using shaders. The only idea I thought about was to read the value from the coverage map in the pixel shader and use that to determine whether or not the currently rendered billboard is visible. But it seems a waste since I'm sending a lot of grass billboards in advanced that might not be rendered anyway. I looked at NVIDIA's Nature Scene demo and Anti-Aliasing with Transparency(which renders grass too) and I didn't understand how they used the coverage map to decide where the grass is rendered (I think they used the stencil buffer, though I'm not sure). Any ideas? Thanks!
  12. Hey, I have a question about frustum culling with a quadtree. Until recently I used an octree to render my terrain and I decided to move from an octree to a quadtree from several reasons. I have a problem with my frustum culling code which I can't seem to solve. Basically, until now, I had a frustum culling class which updates every frame with the 6 planes equations of my view frustum. I send to a function the middle point of the AABB (from the quadtree) and the size of it and check to see if the current node is seen or not. Since I moved from an octree to a quadtree, I no longer need to calculate the Y value of the middle point and nor does it matter for the frustum culling class. My current code checks also the Y chord and I can't seem to remove it. The check is simple: Ax + By + Bz + d > 0 (inside) If I set By to 0, I thought the height won't matter - but it doesn't work. How do I do a frustum check using the node middle point regardless of the Y coord(basically a XZ plane)? Thanks!
  13. Hi, I'm trying to solve a problem for quite sometime. I simply can't understand why the program is crashing. I won't post any code because I think I can describe what I do better with words(if needed, I post the code). I have a class called Map which loads a map file. It loads all of the models/particles/etc. into a stl vector list and all of the instances of these on the map. Another class, called OutdoorScene, gets a pointer to that class(Map) when the main program initializes it. Through that pointer I access the Map class (they don't inherit from one another). Next, during a render call on OutdoorScene, I render the models. To do that, I call a function from Map using the pointer called ReturnModelsInstancesList which copies the vector list from Map and returns it to a new copy of it in the render function back in OutdoorScene. Than, I iterate through the list and render the models. This is the weird part - everything works great for a couple of iterations of the program. After a few frames are rendered the program crashes. Debugging the program I find out that after a random times the game loop iterates, the list back in the Map class gets corrupted. It's not any of the pointers - but the list itself. I don't touch it or change it in anyway except returning it to OutdoorScene every frame. Any ideas what might be the problem? Thanks!
  14. There's a problem with the shadows when you get near them. It only happens when you use the stencil shadows technique. In order to fix it you have to implement Carmack's Reverse. While it lowers your FPS, it's needed for games that requiers the player to be near the shadows(like First Person Shooters). If you're making a game where the user sees the scene from above(strategy games), than Carmack's Reverse isn't needed. - Yuval
  15. Try setting your render-to-texture texture size to the size of the screen resolution(for example, 1024x768). I had a similiar problem and it fixed it. By the way, do you mind posting the code to make bump mapping applied on the water? I'm trying to do the same thing at the moment(after programming per-vertex based water simulation and reflection) but I can't find a lot of examples. -Etus