• 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

1704 Excellent

About Tom KQT

  • Rank
    Advanced Member

Personal Information

  • Location
    Czech Republic
  1. Or a plain black cube. I hope your background color isn't black ;) That's just a tip, to be sure (maybe you're doing it, but we can never know) - during these initial attempts, never clear your backbuffer to white or black, use some general color, like a yellowish-gray etc :)
  2. abdellah you really should again focus on the kaunas's post. What exactly are you trying to do - do you have really some special situation that the algorith would work well for you? Generally, the idea is not good, because: You will be checking each vertex of all the shadow recievers (or do you really have just one?) against all vertices of all possible shadow casters (or do you really have just one?). That's not really efficient and it's quite hard to achieve, because when you are drawing a certain vertex (you are in its vertex shader), you don't have information about other vertices - unless you pass them to the shader somehow. Also a very important thing to keep in mind - a vertex will be in shadow only if it there is some vertex of the shadow caster PRECISELY on the line between the said vertex and the point light. In fact you have just a bunch of point occluders with infinitely small size (ideal points), casting shadows in infinitely thin lines on another set of infinitely small point receivers. What are the odds that you will ever get a single shadow?
  3. What exactly was the motivation for you to try to create a sphere out of a cube (that's not a rhetorical question, I really wonder)? That doesn't make much sense to me, honestly. Why do you generate verticles or a cube and then modify (with huge problems) to form a sphere instead? Did you try to use google and find out how to directly generate verticles of a sphere?
  4. Well, to be honest I'm not sure, I haven't used the Effect Framework for ages. I guess you would still need to assign the texture by sampler textureSampler = sampler_state { Texture = <DiffuseTex0>; }; I'm using the version with a fixed register number which allows me to set the texture simply by SetTexture(register, texture).
  5. You don't need to use the structure, you can define sampler just like this: sampler DiffuseTex0; And then use it: float4 textureColor = tex2D(DiffuseTex0, input.TexCoord); You can even say: sampler DiffuseTex0 : register(ps, s0); Which will allow you to simply set the texture from c++ code by directly using the particular sampler register: device->SetTexture(0, d3dTexture);
  6. "Render a text" will most probably mean "reander a vertex buffer (small quads, one of each letter) with a texture". The texture contains all the necessary chars. So you can try to look for that. Is the texture pre-made with all possible chars (can you find it somewhere in the game assets)? Is it made when the application starts and the letters are somehow drawn in it? Or is it changed even when the application runs if the text needs new letters (Btw I think the last variant is what D3DXFont does).
  7. You think it's related to specular calculations and you're 99 % sure it's not in shaders? That means you are either using the FFP and you are trying to say that there's something wrong in it, or I have no clue
  8.   I did something very similar 5 years ago (picture) and all the magic with projection was done very simply by using D3DXMatrixPerspectiveOffCenterLH to create the projection matrix. Try to look at this D3DX function ;)
  9. Maybe his algorithm works with the mesh rendered at zero depth (center of the mesh), so that some parts of it are in front of the near clipping plane? I have no idea, that's just a guess. In this case it would probably be best to modify it to work with any depth, to be able to use the 0-1 depth range (between near and far clipping planes).
  10. Just a small note on this. Don't take AAA games in general as your holy grail as far as technology is concerned. Sure, there are some developers that push the boundaries further and produce extremely optimized and technicaly advanced games. But there are plenty of AAA games that are made in very short time and with focus on other elements, not optimizations. For example, I think it was on this forum - somebody showed how incredible hight was the amount of draw calls in the early version of Civilisation V. They had a separate draw call for every single icon on the screen, including all those food/wealth/production icons on each tile (if you know the game). That probably won't be the best way, will it? And btw I think this changed in the later versions of the game.
  11. But you would make it only once on the CPU, wouldn't you? As opposed to every frame on GPU. (If the terrain is not changing somehow during time.) You need to send less data to the GPU, that's right. But that would probably require some profiling, whether it's better to be sending less data and calculating some on the GPU or to be sending more data and spare some GPU time.
  12. DX11

    Yes, it's just a "smart wrapper" and yes, you can completely ignore it and make your own system (or do everything manually all the time if you want). I know the Effect Framework only from DX9 and I have no idea whether it changed significantly in DX10/11, but in DX9 it was quite a good system for people learning the programmable pipeline, because it made it everything very straightforward and simple. But as you started to understand better how it everything works, you usually realised that the Effect Framework may not be really optimal if you try to do some optimizations of device calls and the whole rendering process - because you really don't know what's going on under the hood with its automatic state changes, texture setting, samplers, CPU pre-shaders etc.
  13. I encountered too many limitations of the standard file formats (1 texture per subset is the most basic one), so after some work-around solutions I finaly decided to create my own mesh file format ;) Now I can store all the material properties I want. Or it also could be a good idea to separate the mesh data (vertices, indices etc.) from the actual look (material) and have two files for each mesh. I think the Source engine uses this approach? Not sure. In the material file, which can have the same name as the mesh file to be able to match them together, you can have a detailed description of the effects, textures, colors and all other properties (even LODs, physical properties for physics engine...) related to each mesh.   EDIT: here's how Valve's doing it: https://developer.valvesoftware.com/wiki/Material
  14. There most certainly is the very same problem, it just may be less visible (almost invisible). In more complex graphics, like in a normal game, you probably wouldn't notice at all that few rows and columns of pixels are badly displayed. And also in a project like this one, where you have 1 pixel thin lines, you may be lucky - for example in the screenshot you showed here, if the errors were not in the horizontal zone, but in the slope, do you think you would notice it?
  15. I don't know what kind of filtering (if any) it's doing during this process. But the result almost never is satisfying ;)   I also don't know whether it really is the source of your problem, that was just a tip. How do you create your window and how do you set the backbuffer dimensions?