• 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

154 Neutral

About forsandifs

  • Rank
  1. Hmm, better yet, I'll divide my shaders into single functions, which IIRC is the way shaders are supposed to be coded anyway... Eg: the code for GenerateCameraRay() will be put into one shader, and the code for GetRaySceneResult will be put into many shaders, one for each type of object, etc.
  2. Wow, the compiler is smarter than I thought. I guess the solution then is to simplify the calculation of the normal if possible. Many thanks.
  3. I am compling the following compute shader using fxc: [code]void RayCast(uint3 ThreadIndex : SV_DispatchThreadID) { RayStruct Ray = GenerateCameraRay(ThreadIndex.xy); RaySceneResultStruct RaySceneResult = GetRaySceneResult(Ray); uint PixelIndex = ThreadIndex.x + ThreadIndex.y * ResWidthDiv2 * 2; if(RaySceneResult.DoesMeet) { RayHits[PixelIndex].Direction = Ray.Direction; RayHits[PixelIndex].Position = RaySceneResult.Position; RayHits[PixelIndex].Normal = RaySceneResult.Normal; RayHits[PixelIndex].ObjectType = RaySceneResult.ObjectType; RayHits[PixelIndex].ObjectIndex = RaySceneResult.ObjectIndex; } }[/code] (where RayHits is a UAV) and I get the following warning: [quote]warning X4714: sum of temp registers and indexable temp registers times 1024 threads exceeds the recommended total 16384. Performance may be reduced.[/quote] Performance is significantly reduced. Simply commenting out the line "RayHits[PixelIndex].Normal = RaySceneResult.Normal;" gets rid of the warning, but, confusingly for me, removing all other lines inside the if statement except that one does not get rid of the warning... It might be of interest that the asm output shows that 13 r# registers are used without the specified line, and 19 are used with that line (16 being the limit specified by 16384/1024), regardless of whether all the other lines in the if statement are present. WTF. What makes that line so special, and how can I fix this?
  4. Not sure nobel phys prize is "astonishing discovery". Accelerating universe expansion already known from redshift increasing with distance?
  5. Project update: Interactive pan and zoom http://t.co/dU1EJZv
  6. Project update: Perlin noise 3D Terrain rendered top down with basic lighting, http://t.co/CjA6Gqu
  7. [quote name='zoborg' timestamp='1313238605' post='4848610'] Agreed. There's definitely some good research being done in this area. One of the main things preventing it from becoming mainstream is that modern GPU hardware is designed to render triangles, [i]very fast[/i]. Large voxel worlds (and ray-tracing for that matter) require non-linear memory access patterns that GPUs just weren't designed for. Any significant sea-change in how rendering is performed is going to require collaboration with the GPU vendors. CUDA is a step in the right direction, but what we really need is some custom hardware that's good at handling intersections against large spatial databases (think texture unit, but for ray-casting). It's a shame Larrabee didn't work out, but it'll happen eventually. And it'll be a hardware vendor to do it, not some upstart with a magical new algorithm they can't describe or even show working well. [/quote] This reminds me of a question I have on the subject of hardware and ray casting. Isn't the new AMD Fusion chip what you describe? The GPU and CPU have shared memory with the GPU being programmable in a C++ like way, if I'm not mistaken.
  8. Reading violence: what's political about the London riots(?): http://t.co/jozg3M4
  9. Swede tried to build nuclear reactor in his kitchen | Reuters http://t.co/51YZzFk via @reuters
  10. El hombre de la máscara de hierro del siglo XXI - Gaceta trotamundos http://t.co/ooHlxEr via @YahooActualidad
  11. [quote name='kunos' timestamp='1311606885' post='4840017'] lol.. 4 votes for 9, 5 votes for 11... 0 votes for 10.. and you'll go for 10 [img]http://public.gamedev.net/public/style_emoticons/default/laugh.gif[/img] forum users never stop to amaze me. [/quote] In order to maintain faith in humanity I'm hoping that was a typo on his part My vote? All the way up to 11 baby!
  12. Thanks for the replies guys! They really helped to me to focus on what motivates me in a more concrete way and on a more specific project brief. I think I've settled on a procedural content game. Perhaps a procedurally generated game world that the user can explore. I've also applied to one of the help wanted projects on the board that is similar to the above, though I have some doubts I'll be suitable because of my lack of extensive/professional developer experience and because I have a time limit on how long I can work without income. Fingers crossed though! EDIT: or I might look into voxel rendering...
  13. My History: Until recently I had been working on an interactive global illumination graphics engine using C++ and Direct Compute. I chose that project because it required creative problem solving, outputting cool visual results, and appealed to my background in physics, and because I saw a potential gap in the market. I got as far as developing an interactive ray tracer (see sig) but also realised that my initial goals were not viable. I have learnt a lot from the experience in terms of C++, DirectX, general graphics programming, and project management, and have aquired an interesting project under my belt for my portfolio. Before that I made a simple 2D game where the user traverses randomly generated mazes. That was interesting and motivational for me too, even more so than the graphics engine project because results came much faster and added to the same challenges as above I also had to develop the game mechanics. Even before that I had developed a lot of physics algorithms using C++, Matlab, C... Those projects were also very interesting to me for similar reasons to the above, although the heavier the physics got as my career progressed (we are talking very advanced QM) the less I enjoyed it. I also disliked that they were a bit light on the programming side of things. I realised that I enjoyed the algorithm / problem solving / progrmaming side of it more so than I did the heavy physics. Hence my subsequent projects... What now: Now I'm looking for another project to work on, but I only plan to invest about 6 months into it, and I want to have something to show for it at the end of those 6 months. If that project isn't showing signs of providing an income by that time, I will take my portfolio and look for an entry level programming job. I want to make a career out of programming. It doesn't have to be in the games industry, though that would be just fine, but it would have to be a job that provides the type of interesting challenges that programming for games does for me (see "My History" for examples of said challenges). So for example developing algorithms/automation for the finance industry, developing simulations for the energy industry. Anyway, given this background and plans here is my question: what project do you think I should work on next? Any ideas? Greetings.