Tag Info

Hot answers tagged

39

There are a number of reasons why a PC port can take a while. (I apologize if I seem to be repeating myself somewhere; this is sort of written on the fly.) Adapting controls and gameplay When you're playing on a console, this alone puts certain limitations on what you can do, since all the user has is a gamepad. Just creating 1:1 mappings between keyboard ...


28

Most of the size used by any game lies in its assets, most notably, audio, video and (to a slightly lesser degree) images/textures. Binaries and game data is typically much smaller than any of those. Then, all of these assets may or may not be compressed, may use different compression schemes, may have different formats, and even have different ...


25

I don't have any stats to compare the differences between XNA and non-XNA game sales - I'd suggest that data is impossible to come by - but I imagine it would show there is no difference for equivalent games. So let me answer your question with a run through of the major issues specific to distribution of XNA games on PC (particularly online): First of ...


25

There are multiple ways to do this, the simplest would be to XOR the two files and compress them (GZIP or so forth). The theory behind this is that hopefully you can get a large sequence of zeroes (long sequences of the same values compress well). You can take that concept further and try and find areas of the two files where the data is identical and omit ...


19

Just in addition to what David already said in his answer: It is true, that up to 95-99% of almost every modern game size is constituted by its assets: video, audio, textures etc. If you are wondering why some games take only 4Gb whereas others much more having same level of graphics?? It can be also due to the fact that some game store their assets on the ...


14

The executable code of a game doesn't always reside just in the executable, often it is divided into several dynamic libraries (for example the game, graphics and sound engines), the actual executable, and possibly many scripts for various purposes. A patch could be fixing issues in any single one of these parts without warranting change in all of them. A ...


12

Well, I know on Xbox LIVE Indie Games, they have certain standards that they want you to follow. For example, they recommend that your game can run with a transfer speed of 8kb/s. This is because many people own Xboxes and not all of them have high-speed connections or even live in places where high-speed internet is available (what a nightmare! :-) ). So, ...


11

It should work pretty easy. I'm using an xbox 360 controller plugged into my windows machine as my main gaming controller, and to make an XNA project use it all I had to do was: GamePadState gamepadState = GamePad.GetState(PlayerIndex.One); float movement = gamePadState.ThumbSticks.Left.X * MoveStickScale; if (Math.Abs(movement) < 0.5f) ...


10

For commercial console game development, setting up a build system to target 360, PC, and PS3 simultaneously is irritating but is not particularly difficult. The 360 dev kit is simply a new a new target for Visual Studio + some tools and uses a very similar compiler to the standard windows MSVC++ compiler. The PS3 uses a GCC compiler back end but plugs ...


9

A good place to start is the Steam Hardware Survey which includes a list of the most popular display resolution among Steam users. Wikipedia has a list of common resolutions in computer graphics. You can also look at some commercial games and see what resolutions they allow the user to select from. If you're going to support any resolution and just want a ...


6

I'm pretty sure on Direct X platforms at least, you're expected to query the platform for a list of available modes (using EnumAdapterModes on the device). That way the platform will already exclude any unavailable resolutions (because the GFX card or OS doesn't support it). You can further sub-filter those modes to exclude any you don't support (for ...


6

I think the kind of data with the most commonly underestimated size is audio, especially music and voice recordings. This is because audio compression is hard, audio mixing is tricky, and while the eye can tolerate pixelated or blurry textures, level of detail popping, and a few missed frames here and there, the ear is absolutely unforgiving with audio ...


6

This is were I would point you (http://www.xnua.com/xna_lua_xnua), but it hasn't been updated for a long time. C# is great language, and could in a sense be used as a scripting language within your c# game. Nick Gravelyn has created some nice tutorials about tile engine (http://blog.nickgravelyn.com/downloads/#tileengine) and used a custom scripting engine ...


6

A simple reason is that a console has a single set of hardware that is the same per console. Your XBox, PS3 and Wii all have the same hardware as your neighbours XBox, PS3 and Wii. However your computer has a different CPU, different graphics card, different amount of RAM, in fact the whole configuration and Operating system settings, installed drivers ...


5

It's been more than a year since this topic was created, and since then there's been quite a bit of development on the XNA side. For instance, here's a list with a few popular XNA games that have been released for PC and are currently being sold on Steam: Terraria Bastion Chime Sequence Magicka ...and these are only the ones I happened to buy and noticed ...


5

You can get official Microsoft logos here: http://www.microsoft.com/en-us/news/ImageGallery/logos/logoguidelines.aspx (You have to agree to their terms in order to get to the logo part). Here you might get some publicly available assets: http://www.microsoft.com/en-us/news/imagegallery/products/default.aspx (Well, there isn't a top-down shot of X-Box ...


4

You can use OpenGL ES 2.0 in C/C++ code in both platforms - Android and iOS. No need to use Java or Objective-C for calling OpenGL functions. As long as you don't use vendor/hardware specific OpenGL extensions your drawing code can stay exactly same for both platforms. iOS has OpenGL ES 2.0 in C++ support natively Android supports OpenGL ES 2.0 in C++ ...


4

Porting code to a new platform takes time. Creating a nanosecond timer for Xbox 360 (I've never developed in XNA) is going to need a different implementation than the same nanosecond timer in Linux, Mac, or Windows. Now imagine you have hundreds of these types of functions that need porting, thousands if the engine is massive enough. It can easily take a ...


3

Your window gets rendered using the HW acceleration of the video card to get transparency effects, and bypasses standard Windows GDI stack, which is captured by most streaming utilities. Basically, you can a) hook DirectX's drawing functions and draw your overlay on top of the game (like Fraps does, for displaying FPS counter. AFAIK Steam overlay works the ...


3

Unless you plan to target one machine with one predefined set of resolutions, i'd recommend making your game so that it works on any resolution. If your game has a high range of resolutions it should support (meaning: from very low to very high) in that case it makes sense to leave out things on lower resolution and also to use different graphics sets (e.g. ...


3

For most platforms, you can write subsystems which abstract away from the specific APIs used to call out and get information back from the platform you're running on. IO APIs are usually the easiest to abstract - all file systems work on some pretty basic assumptions about opening, closing and reading from files, even when you factor in asynchronous calling. ...


3

You can get this with Steamworks. It has an API for putting in gameplay stats-tracking, so you can record things like deaths per location, how many players get to which levels, how long someone plays before quitting, and so on. You can look at the aggregated statistics from all players to get the data you want. We sometimes use that data for Bayesian ...


2

As Sean said, IronPython is worth looking at. IronPython is actually one of a few dynamic language implementations for .NET targeting the Dynamic Language Runtime (DLR). There is at least one open source project aimed at implementing Lua on the DLR (like this one), but I'm not sure if there are any implementations near completion. A well-implemented set ...


2

If you're looking for scripting in C#, definitely take a look at IronPython. It's not just a python API for C#, it is actually a completely separate python implementation which compiles to the same CLR assembly (with the same performance) that C# does, but can be interfaced with as a scripting language. Any Lua wrapper for C# would be much slow due to the ...


2

The best solution I could give you is to just script in C#. You can compile them at runtime when you target windows and compile them before hand for the xbox. (as a dll) That would be the easiest solution. You could also do it in VB.NET or any .NET language. (not sure about the scripting ones though) Basically, I'm saying to have your scripts in their own ...


2

Field of view (FOV) plays a big part in game feel for first person shooters on all platforms. Standard horizontal FOV in first person shooters tend to range between 90 degrees to 120 degrees. However, PC and console players sit at different distances from their screens. A 90 degree FOV may be fine for a 30" screen 5 feet away from a console player, but may ...


2

According to the XNA team's blog today (Fri Nov 5) the connect application will be updated to accept XNA4.0 deployments. I'm guessing you are seeing transients related to the upgrade process. If I were you I would try again later today, once the new connect app has been fielded in all markets.


2

I only see a button to download to my Xbox 360. When I clicked it, it said it was added to my "queue", and I guess it will magically show up on my Xbox? But there is nothing I saw to download... Here is a screenshot of the page I see: (notice the "Download to Xbox 360" button in the bottom right) Edit: I found the queue. And it is as I suspected. My ...


2

Steam details: http://store.steampowered.com/hwsurvey Resolution %Users 1024 x 768 7.47% 1152 x 864 1.41% 1280 x 720 0.72% 1280 x 768 0.72% 1280 x 800 5.88% 1280 x 960 1.21% 1280 x 1024 15.13% 1360 x 768 1.34% 1366 x 768 6.27% 1440 x 900 10.14% 1600 x 900 3.63% 1600 x 1200 0.94% 1680 x 1050 18.46% 1920 x 1080 15.72% 1920 x 1200 ...



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