• 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

3266 Excellent

About Capoeirista

  • Rank

Personal Information

  • Location
    Toronto, Canada
  • Interests
  1. OpenGL

    Oh damn, thanks for that! I assumed that OpenGL would map the 'out' variable from the vertex shader to the 'in' variable of the fragment shader - assuming the types matched; had no idea the actual variable names had to be the same. Thank you, this was driving me a bit insane!
  2. OpenGL

    I had a quick look at the fragment shader using NSight, and while the vertex shader looks like it has valid input parameters, I couldn't see anything relating to color in the fragment shader. I've attached a couple of screen-caps from NSight.
  3. Hey folks, Seeing some odd behaviour with a very simple OpenGL shader I'm trying to get working. Here's the vertex shader: #version 400 //////////////////// // Input Variables //////////////////// in vec3 inputPosition; in vec3 inputColor; //////////////////// // Output Variables //////////////////// out vec3 outputColor; //////////////////// // Uniform Variables //////////////////// uniform mat4 worldMatrix; uniform mat4 viewMatrix; uniform mat4 projectionMatrix; //////////////////// // Vertex Shader //////////////////// void main( void ) { // calculate the position of the vertex using world/view/projection matrices gl_Position = worldMatrix * vec4( inputPosition, 1.0f ); gl_Position = viewMatrix * gl_Position; gl_Position = projectionMatrix * gl_Position; // store the input colour for the fragment shader outputColor = vec3( 1.0f, 1.0f, 1.0f );//inputColor; } And this is the fragment shader: #version 400 //////////////////// // Input Variables //////////////////// in vec3 inputColor; //////////////////// // Output Variables //////////////////// out vec4 outputColor; //////////////////// // Fragment Shader //////////////////// void main( void ) { outputColor = vec4( inputColor, 1.0f );//vec4( 1.0f, 1.0f, 1.0f, 1.0f); } If I try and use the 'inputColor' in the fragment shader everything is just rendered black... however if I explicitly set the colour (in the commented out code) everything renders correctly... so there's a breakdown in communication between my vertex and fragment shaders. Is there anything obvious I'm missing in the shader code? I'm not seeing any compilation warnings from the C++ code side of things, and all of the world/view/projection matrices are being passed in correctly. Thanks!
  4. Audiokinetic have some great, free Wwise tutorials available online (you only have to pay if you want the certificate), you can check them out here. It's definitely worth running through them - as a sound designer the more you know about Wwise the better. You won't have to touch any code, but you'll need to understand how audio works in games.
  5. Haven't figured out exactly how recast works yet, but it can output voxels for walkable surfaces it detects. The code is reasonably well documented too. I was half thinking I could grab it's interior edge detection algorithm to walk around the interiors of the geometry I'm looking at... then just extend the resulting mesh to the desired height. It's an impressive piece of tech; very quick generation and handles things like stairs without any trouble. https://github.com/recastnavigation/recastnavigation
  6. Hey JoeJ, Thanks for the awesome response The purpose of this is to automate the placement of sound occlusion volumes in the world, so a completely robust solution isn't necessary. I'm just trying to cut down the manual, repetitive work that sound designers have to do in our level editor. Performance isn't really an issue since this is all going to be done in an offline process, and while the voxel solution is working well so far it is by no means complete... just trying to cover all of my bases here I haven't tried Simplygon, but I have been looking at Recast - an open source navmesh generation system. It seems to do a really good job mapping out mesh interiors.
  7. Sounds like you want something like a low poly occlusion mesh? Simplygon can generate this, but i have not tried yet: https://simplygon.com/#get Your algorithm may work depending on your needs and inputs. Other ideas: * Voxelization + flood filling * BSP tree for exact solution Hey JoeJ I've been having a play with a couple of the ideas you suggested, and while the voxel flood fill seems to work quite well (although expensive) I'm not sure how to go about evaluating space with a BSP tree. I've been able to build a BSP tree of course, but I don't see how to extract the spatial information from it since it only really storing the relationship between individual polygons... if that makes sense I've read that you can represent the empty space using something called a solid-leaf BSP tree, but can't find any descriptions of the algorithm, just that it exists. Cheers!
  8. Hey JoelJ Yeah a low-poly occlusion mesh is exactly what I'm after; a bounding volume that can trigger audio events when a player enters an indoor area. I'll have a look at simplygon, see if I can get something up and running. Voxelization is an awesome idea, and should be relatively easy to implement, thanks for that. I'll have to look in to BSP trees as well. Thanks!
  9. Hey folks, So I've got a reasonably interesting problem to solve and just wanted to reach out and see if I'm on the right track for a solution. Given a piece of geometry - typically the exterior of a building - I need to be able to generate a shape that represents it's interior volume. My geometric algorithm knowledge is a little lacking, but an approach I'm considering is: stitch a plane on to the 'floor' of the building geometry (to catch ray casts) work out where the center of the building is perform a bunch of raycasts from the center point to hit all of the interior bounds  stitch the resulting racast intersection vertices together (removing unnecessary ones) in to the desired volume Is this a reasonable approach to the problem? I should probably note that I'm likely going to have to handle both convex and concave pieces of geometry. Any suggestions would be greatly appreciated, thanks!
  10. Ah you probably still need the following include directory: c:\Program Files (x86)\Windows Kits\8.1\Include\um\ Since that's where Windows.h, you really just want to make sure that you're including and linking against the June 2010 SDK and not the Windows Kit SDK for DirectX.
  11. Yeah spot on. I had similar issues setting up a DX project recently. By default your VS project properties probably have the following include and lib directories: c:\Program Files (x86)\Windows Kits\[some version]\Include\ c:\Program Files (x86)\Windows Kits\[some version]\lib\winv6.3\x64 Or something similar, I think there are around three Include directories and a couple of lib directories. This is where the current version of DirectX is kept and your project is probably linking against these instead of the June 2010 SDK. To prevent this from happening, under your project's Include & Lib directories you can uncheck the 'Inherit from parent or project defaults' checkbox. Note that you'll probably still need to explicitly include $(VC_IncludePath), and have $(VC_LibraryPath_x64) for your libs... it's the Windows SDK stuff you want to avoid. Hope that helps!
  12. The RasterTek tutorials are fantastic for getting a handle on rendering. They haven't been updated for a year or so, but they'll give you a solid foundation to build on. Once you've built that foundation then the ShaderX & GPU Gems series of books can really help you understand some more advanced rendering techniques.
  13. Aaaaand it's because my C++ DLL was linking to the 'Windows Kits' v8.1 and I'm running Windows 7, so don't have access to XAUDIO2_8.DLL. Re-linking my project to the June 2010 DirectSDK & dsound.lib fixed things up.
  14. Just used 'Dependency Walker' to inspect the managed DLL I'm building... and it looks like my system is somehow missing XAUDIO2_8.DLL. No idea why I'd be missing the DLL, but at least it's somewhere to start looking :)
  15. Hey folks, I'm building a C# application that uses a managed C++ DLL to handle all of the rendering & audio playback. However after linking the C++ DLL to xaudio2.lib and initializing the IXaudio2 interface I get the following error when the C# application loads: Which must be something to do with C# and xaudio2. I handle the rendering of a C# Panel in C++ using DirectX (by passing through the window handle) so I'm already linking to d3d11.lib, and I can create the DirectX device & swap chain without any problems. If I comment out the code that handles the xaudio2 initialization the  file load exception disappears. This exception is occurring right as the C# application starts up, well before the hook I have in place to catch the Loaded event, so it's a little tricky to try and isolate. Thanks!