• 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

787 Good

About jeffkingdev

  • Rank
  1. Hello,   So, I am working on a 2d car game.  For drivable surfaces, I was planning on using a bit map mask so I could determine if the road surface was drivable or not.  However, anyone have any ideas on how to handle collisions, instead of saying cannot drive, I want to handle a collision, but I would normally need a normal of the face and then use that to bounce off of that surface.  With a bit map, I just know they can't drive, how would I go about creating a normal from a bitmap?   Any thoughts? Thanks
  2. Barry,   That's an excellent resource.  Exactly what I was looking for, thanks!
  3. Hello,   I heard of a technique called micro bump.  I can't find much about it online, but I assume it's something that simulates very tiny bumps on the skin so as the surface won't appear so flat when viewing close.   Look at this screenshot: http://static.gamespot.com/uploads/original/1179/11799911/2354790-nextgen_ray_allen_watermark_1920x1080.png   Notice his forehead has lines where the spec light shines.  I'm trying to do similar, but I applied a separate bump and the results are not even close.   Any idea how they get those super nice lines\bump across the skin like that?   Thanks in advance.
  4. OpenGL

    Suen,   I'm just going to throw a few things at you.  I think you may be confusing yourself.  I'd rename some of your variables like 'cameraTarget' should be 'cameraTargetPos' so you clearly identity a position VS a direction vector.  It's important not to get those confused.   For rotation, you can just easily make a rotation matrix and multiply that by your viewMatrix.   I'm not familiar with the glm library, but I saw a glm::rotate function that I believe makes a rotation matrix.  Then you can just do...   viewMatrix = rotationMatrix*viewMatrixAxes*camPosTranslation;   (or put rotationMatrix at the end) -- I can't remember what way OpenGL multiplies it's matrices.   Good luck! Jeff.
  5. gcard28,   When I did this, I validated each step before moving on.  The first thing I did was draw a visualization of a frustum from an object's point of view, then I could move my camera around and look at it.  Then I split it into 4 cascades and again draw each frustum split on screen.   Once you have that, then you know that's working and can move on to the orthographic projection step (which I rendered into textures and drew those as quads on the screen to validate those).   And so on...   Jeff.
  6. Hello, I have everything running in DX9. I am debating about going to DX11 sometime this year. I wanted to know what the learning curve is. I have deep knowledge of DX9, but I'm more interested in API changes that might be totally different than the way they were doing stuff in DX9. Has anyone gone from DX9 to DX11 and how difficult was the transition? Edit: I know this is a broad question based on many factors, but I'm still interested in hearing anyone's general thoughts. Thanks Jeff.
  7. Can someone please look at my flow below and tell me if I'm correct in my thinking: CLIENT - Requests to join a multiplayer game. - Sends game data to HOST. - Accepts game data from HOST. MASTER SERVER - Accepts incoming message for matchmaking. - Stores list of players ready to play. - Pairs players up by random (at first, then by other factors later). HOST - Accepts incoming data from client and sends data out to all clients playing the game. Here's the steps it would work: 1. Client requests to play online game. 2. Server accepts request, stores IP:Port of client. 3. Server waits for another request. 4. Server accepts another request. 5. Server matches 2 requests. 6. Server chooses 1 client to be host. 7. Server sends client connection data to each client and removes both clients from matchmaking list. 8. Both clients send game data to the host, which is 1 of the clients. 9. Game continues till end. 10. If no disconnects, host reports game stats to stat server for online leaderboards/etc. Q1: Is this how a basic matchmaking server and client/host server works? Q2: This example shows how a user is the HOST, if I wanted to have a server the HOST, would I need to run like 500 server applications as a service to host 500 games? lets say for example? Is that how that's done?? Thanks Jeff.
  8. Hello, I had a question on how to send an ACK. So, I am working on a UDP Server, so from a high level can someone please tell me if my logic is correct: Assuming 1 server, 2 players (possibly more than 2 players) 1) Player 1 sends data packs 1,2,3,4,5 to server (waits for ACK) for broadcast to players who joined 2) Server sends to rest of players, in this case Player 2. 3) Player 2 receives packets 3,4,1 ... -- Does player 2 send an ACK to the server? -----If so, what if those never reach player 1? -- Does player 2 send an ACK directly back to Player1 somehow? -----Does Player1 send the IP along? 4) Player 1 keeps sending packets it does not get ACK for after X time interval. In this case, it would resend packets 2, 5. This would be for a out-of-order guaranteed packet delivery. Thanks Jeff.
  9. Hodgman, Do most video cards these days support the floating point textures? Do the onboard cards do this now too? Thanks Jeff.
  10. Absolutely! DDS is just a file format. You can have an uncompressed DDS file. Although DXT compression is really good. Did you compare them? Some textures look just as good compressed as uncompressed. Jeff.
  11. I'm not sure why your code doesn't work, but check this book out: http://www.amazon.com/Real-Time-Collision-Detection-Interactive-Technology/dp/1558607323 It's the best book I've found with regards to collision detection, great code samples and great explanations. Jeff. (I'm not affiliated with the book at all, except that I have it)
  12. I worked on CSM recently myself, although not in GLSL. Although the concept should be the same. How many Cascades do you have? I noticed your not figuring out which cascade your in before doing a lookup in your shadow map. I assume your shadow map contains 3 or 4 different views? What helped for me was to do each step individually and have something visible to see each step. 1) Draw a visualization of your view frustum with your 3 or 4 splits 2) Setup a camera you can switch to to see the orthographic view of a particular split 3) Render all splits to a single texture and display that on-screen. 4) Render red/blue/green/purple into that texture representing each split and map it on to your terrain based on your current view. 5) Finally, instead of the colors project your actual shadow map on to the terrain. Doing each step helped me reenforce what I was doing along the way. Then you can work on each step and figure out what's wrong easier. Good luck! Jeff.
  13. Thanks Guys! 1 More question, I didn't feel right making a new post. When I add bloom to my HDR, it ends up making the bloom parts all white. Is that correct? Shouldn't it retain the color of what it's 'blooming'? When you do it like finalColor = colorFromToneMapper + bloom; (bloom just adds on top making finalColor over 1, which will ultimately be clamped at 1. Am I missing something here?? Thanks Jeff.
  14. Hey guys: Is the average luminance values in HDR? Meaning the scene grayscale should be a texture format that can go higher than 1? Thanks Jeff.
  15. Hello, So, I have CSM working. Looks great. In order for it to work properly, I need to figure out the cascade index in the pixel shader and then do the multiply with it's 1 of 4 matrices (one for each map) again in the pixel shader. I'd rather do this in the vertex shader, but then I get shadows with lines across it (shadow, no shadow, shadow, no shadow, etc.). Is this possible to do in the vertex shader? If so, any ideas how? Maybe I can't do this because of the nature of the shadow, it really does need to be a pixel operation. It just sucks I have to pass all 4 matrices into my pixel shader for the operation. Thanks Jeff.