Hot answers tagged

58

Microsoft has an FAQ about the use of their trademark. From that FAQ: Can I use a Microsoft logo to indicate that my product or service runs on or is compatible with a Microsoft technology or service? Yes, as long as you have a signed logo license agreement with Microsoft. Microsoft has many logo programs to indicate compatibility with ...


33

GLFW is modern and has a very well defined scope. It's also under very active development. SDL on the other side is rock solid and has a lot features in different scopes but is somewhat lacking in all of them (for example: SDL can do audio, but you might prefer using OpenAL because its far superior in that matter). It might be notable that SDL was ported to ...


29

You can't. At least, not as a game developer. As a gamer, you can purchase more expensive keyboards with "anti-ghosting" features, but otherwise the limitation is part of the hardware itself, so there's nothing you can do in software to solve it. Check out this demo page to see how keyboard ghosting works, plus a demo: https://web.archive.org/web/...


18

Looking at my disk, I have 1 game that saves savegames in %APPDATA% 1 game that saves savegames in %LOCALAPPDATA% 2 games that save "other stuff" in %APPDATA% 3 games that save "other stuff" in %LOCALAPPDATA% 2 games that save savegames in %UserProfile%\Saved Games 21 Games that save savegames and loads of other stuff in %UserProfile%\Documents, not ...


14

but XNA was never a real success lolwut? XNA is an amazing success. If you just look at this site as a measuring ground, you will notice that: XNA is the top recent tag (it stays up there quite a lot) XNA questions get quickly answered, often with multiple answers Difficult XNA problems are addressed This shows that there are a lot of people interested in,...


12

Yes, Windows 8 does support DirectX 9. For development, the old DirectX SDK is now deprecated, but you'll have all the libraries and headers you need within the new Windows 8 SDK, which comes included with Visual Studio 2012. You can go for the "old way" with no problem. If you need PIX for some debugging, or the high level D3DX library, you'll have to ...


12

As others have mentioned, on OS X (and Linux), OpenGL is the only game in town for hardware-accelerated graphics. So the question really comes down to: why do developers use Direct3D instead of OpenGL on Windows? One possible reason, as suggested in the comments, is that they started out as a Windows-only project and later decided to add OS X / Linux ...


10

Couldn't find the right phrase for search but finally found it, "using corporation trademark". It seems you are allowed to freely use their logo's and trademarks as long as the product is really compatible with their software. For Apple Compatibility: If you are a developer, you may show an image of an Apple product in your promotional/advertising ...


9

I have not seen an else being used in this instance (the Rastertek tutorial you mentioned does not use an else). My guess would be if that you tried to resize your window the game rendering would freeze proving that the else part is never executed, as the resize message would be constantly sent. A common loop would have this structure. while (true) { ...


8

It is against the Apple and Mac OS terms of agreement to install Mac OS on anything aside from an Apple authorized machine. You are in breach of your user agreement by doing even that. So app-store stuff aside - you are in legal hot water. However! Pushing that aside, I'd like to note at least one game has been published with a similar method as the one you ...


8

A singleton for your main engine class is perfectly normal. It's even quite acceptable to have one singleton for each of your game's major systems, like graphics and input. I personally prefer a single Engine singleton with all systems as members of that object, but really there's very little difference. A singleton can just be a static global object, ...


8

I've found a workable approach. I grabbed the DS4Tool source and copied the bits I needed into my Unity project so I could read the reports from the device directly. (That's the NativeMethods class to interface with Kernel32.dll, the device enumeration from HidDevices, and reading the report from the HidDevice class. I cut out the rest to keep things as ...


7

Generally timeGetTime() is best for timing game logic - GetTickCount isn't quite high enough resolution, and QPC & RDTSC are a lot more trouble than they are worth for that purpose. For profiling on the other hand, either RDTSC or QPC can be quite worthwhile. I prefer RDTSC over QPC, though microsoft recommends QPC. The four common time functions ...


7

As described on the XNA Community Forum, you can get the host Form and listen to the FormClosing event, which allows you to cancel the event. The example code from the community form reads: protected override void LoadContent() { Form f = Form.FromHandle(Window.Handle) as Form; if (f != null) { f.FormClosing += f_FormClosing; } ...


7

This is called vsync (vertical sync), which traditionally means that your rendering rate is synchronized with the vertical refresh rate of your monitor to avoid tearing. Nowadays LCD screens don't have "vertical" refresh rates, just simple refresh rates, but it's the same thing. As others have said in the responses, your video card driver settings cause ...


7

I recommend loading your sprites using SOIL, and then rendering them by just drawing textured quads. If you do it without any deprecated functionality (use shaders) you will find it's very fast.


7

GDI (Graphics Device Interface) is the software renderer under Windows. Basically any language/runtime platform under Windows that is not GPU-accelerated is going to be using GDI under the hood at some level. While Java AWT might use GDI directly via the C code that the Java runtime is written in, something like Flash running in Chrome will OTOH be using GDI ...


7

Games like that are called screenmates or desktop pets. They are a type of digital pet that interacts with desktop windows. Positioning Desktop pets query the host operating system's windowing system for window positions. The windowing system is typically DWM on Windows and X11 on Linux. On Windows, you can include Windows.h and use EnumWindows to get a ...


6

Yes, it does use OpenGL for some operations. You can get the full list from the source code. The major uses are, as of SFML 1.6: RenderTarget.cpp: set up render targets, clear screen, set matrix mode etc. PostFX.cpp: postprocess manager Image.cpp and Sprite.cpp: texture and sprite handling String.cpp: text writing In the upcoming SFML 2.0, some of this is ...


6

EDIT: After a comment by @ChristianIvicevic I felt compelled to reword my answer to emphasise that the Article link I provided is a far better alternative to using a system call as it is more secure and does not risk producing false positives with anti-virus software. Try and use this Microsoft solution: Performing Clear Screen (CLS) in a Console ...


6

Got it: The Geforce4 MX with the newest-available nVidia drivers (circa 2006) doesn't support the glTexEnv approach to blending source and destination textures. At least, not in hardware. Drawing the simplest shapes results in crippling slowness. However, it does appear to support GL_BLEND combined with glBlendFunc in hardware. Solution: Instead of the ...


6

Yes, but keep in mind the default frame buffer will always be the same size of the window. What you can do is to render your scenes internally into an off-screen (400x300) frame buffer, and then up-scale it to (800x600), you can do this by rendering this into a texture and applying it on a full screen quad, the advantage you will get is your shaders will run ...


6

The current operating system stats on Steam tell us that only 35% of Steam users even use Windows 10. And of those who do use Windows 10, not everyone regularly use the Windows store to shop for new games. This might be a kind of chicken/egg problem. There aren't many interesting games on the Windows store, so nobody goes there to look for games, so nobody ...


5

When the main thread signals the rendering thread to terminate, you can use a mutex and condition to wait for the rendering thread to exit before allowing the main thread to proceed. You need to make sure this is the first thing you do on shutdown - before you delete anything related to rendering.


5

The main problem with static and global objects in C++ is that they are created before the application's entry point (i.e. main), but their constructors are called in a completely unpredictable order. The same is true for their destructors, at the end of the application. This is clearly a problem because often we will have objects that depend on each other, ...


5

This is a general post about why static classes cause you more trouble than they are worth. And this includes singleton classes which are just a fancy way of doing the same thing that avoids construction order problems. No advice fits all cases, so take it as advice, not as an instruction that it is always better to do it this way. In general code shouldn't ...


5

There are a few options available to you: Buy a Mac: This is the most full-proof, but probably the most expensive. If you can figure out what exactly you need (eg. Lion vs. Leopard), you can probably save some of the cost by buying something that's not latest-and-greatest, but "good enough" for development. Run a Mac VM: This is usually illegal (depending ...


5

I do know if you happen to have an app available in the Mac App Store, iOS App Store, or Google Play, they have available banners at your disposal to post on your website. Microsoft used to have the Microsoft Compatibility logo available to Software Manufacturers that pass the hardware guidelines for said software. I know Apple is very meticulous about what ...


5

Actually, starting with Windows 7, Direct3D 11 is your answer. Of course the API defaults to using a GPU if you have one, but you can create a Direct3D device targeting the Windows Advanced Rasterization Platform (WARP), which is meant to be a high performance software rasterizer supporting the Direct3D API. You should not expect performance anywhere as ...


Only top voted, non community-wiki answers of a minimum length are eligible