• 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.

Yenian

Members
  • Content count

    9
  • Joined

  • Last visited

Community Reputation

150 Neutral

About Yenian

  • Rank
    Newbie

Personal Information

  • Location
    Mountain View, CA
  1. SlimDX has a set of 3 intro tutorials on their site that will get drawing a triangle in a DirectX Context on a Windows Form.   When I say SlimDX diverges slightly, it is only very slightly.  IIRC, the state blocks (BlendState, RasterizerState, DepthStencilState) and some of the Desc structs have members slightly reorganized from their native cousins.  I've managed to port a fairly extensive C# graphics project from library to the other with minimal effort: other than changing the #using from SlimDX.whatever to SharpDX.whatever, and the mismatches in descs and states, almost everything behaves similarly and usually has the same name.   Because of that, I'll bet you could follow the SlimDX tutorials using SharpDX with some name substitution and get pretty close.  You'll find more help resources for SlimDX than SharpDX, so maybe you should consider using that.  They both support DX11, and both are good libraries.
  2. Unless you're absolutely set on creating your own bindings to access DirectX from .NET, might I recommend either SlimDX or SharpDX?   http://slimdx.org/ http://code.google.com/p/sharpdx/   Both are managed wrappers around DirectX. SlimDX is older and supports D3D9 through D3D11; SharpDX only supports D3D10/11.  SlimDX diverges slightly from directly wrapping the DirectX spec; SharpDX is auto-generated from the headers and therefore cleaves very closely.   Either one of these should let you render into a .NET Windows Form with minimal effort.
  3. The most basic answer is that taking the dot product of the surface normal for a point you are shading with the normalized vector to the light source being considered gives you the contribution that light source makes to the perceived color at that point on the surface, if the surface is entirely diffuse, and has no specular/illuminance/more advanced BRDF. The wikipedia article on lambertian reflectance may help: [url="http://en.wikipedia.org/wiki/Lambertian_reflectance"]http://en.wikipedia....ian_reflectance[/url]
  4. Only if your render step makes an effort to interpolate between physics update steps is there any reason to render faster than you update. Displaying two identical images in a row for half a second each is the same as displaying one image for a full second. I don't know if Box 2D allows you to do this easily. (Never used it) If you are not making this effort, then there is no point in doing a new render if you haven't done a physics update to cause a change to the screen image. In some physics heavy AAA titles, physics will actually be updated many more times per frame than a render or other update. This done gain a better approximation of the curves objects trace as they interact; Forza 3 I believe runs a physics update at 300hz, render at 60 hz to match the display refresh. There are many methods of maintaining numerical stability in a physics simulation; small time steps can help. Supreme Commander on the other hand only updates it's simulation at 10 hz. Changes to the state of the world, (unit orders, etc.) are actually only updated 10 times a second; units are updated once per frame to interpolate between simulation updates, so they appear to move smoothly through the environment. Supreme Commander does this to make it possible to synchronize the thousands of entities that can exist in a multiplayer game across the network; without the long intervals it would not be possible to keep all clients in sync. (and even then it can break down sometimes). There are many ways to construct a game loop; if you are just starting to learn then sticking with a simple 'update then render' loop is probably fine. No need to get into simulate->update->render or multi-threaded update unless you are specifically interested in learning them or your project demands it.
  5. [quote name='EverXiao' timestamp='1315848379' post='4860761'] Hi iedoc, thank you for the reply. I have the driver up to date, and when I try set the first param of EnumAdapters to 1 instead of 0, it just return nothing. The reason why I have to get all cards and setting the one my program going to use is that most of the games(nearly all) will start with the better graphic card it finds in my notebook(Nvidia one), I really want to know how I can make my program do the same. I made some search and find that the games that know which card to use are actually in the list of Nvidia control panel on my notebook, even I haven't set them there by myself. I don't know how to do it yet but I guess this is the way to go rather than doing it in the program? [/quote] You may need to set something specific in your NVidia settings for your executable. I have a laptop with the same graphics card configuration, and unless I set my application to use the GeForce 525, it's started using the Intel card. It's possible that the system graphics settings actually block your application from seeing both adapters, since the intent is that one is used in 'low power' situations to conserve battery. I haven't tried enumerating adapters, but without setting that feature I would create a DirectX 10.1 feature level device instead of a DX11 feature level device, since it would use the Intel card by default. Try adding your executable to the list in your NVidia settings.
  6. One thing to try is installing the VS2008 C++ Redistributable on the Win7 machine; I remember fixing something similar that way a couple years ago. If that works, you'll need to bundle that with your installer.
  7. [quote name='nfries88' timestamp='1303421845' post='4801390'] SDL does not run on XBLA and likely never will, unless someone crafts a C interpreter for C# But there's no reason why an SDL-based game couldn't be used for a pitch. But why use C(++) and SDL when you can save yourself loads of time by starting with C# and XNA? [/quote] XBLA does not require use of C#/XNA. Most XBLA games are developed against the native XDK using C/C++. XBLI is the channel that restricts you to C#/XNA; for XBLA it is only an option. 'Schizoid' was the first XBLA game to be released that used C#/XNA as it's primary development platform; how many XBLA games were released before 'Schizoid'? This seems to be a very common misconception about how games are developed for different segments of the service. XBLI == C#/XNA. XBLA == (C#/XNA OR Native XDK) That said, I don't know enough about SDL to comment on how readily it would run on an Xbox 360 via the native XDK.
  8. Yes, Managed DirectX is deprecated and has been unsupported for years now. Use of SlimDX or XNA is strongly recommended.
  9. Wireless controllers always communicate with the console/PC wirelessly; they only use the USB cable for power. In order you use a Wireless Xbox 360 controller with your PC, you need the Xbox 360 Wireless dongle for PC, and then you need to sync your controller with that dongle. If you use a wired 360 controller, it should just work.