Tag Info

Hot answers tagged

27

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


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


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

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


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

1024x768 (or less) is still the minimum resolution you should be targeting. Plenty of laptops sold between ~2006 and now have fully capable video cards, but are stuck to the same resolution they were sold at. Depending on the game, it may be even less - netbooks commonly sold with a 1024x600 resolution during the same period, so a casual or web-based game ...


4

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


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


3

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


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

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


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

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


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


2

Two options right now (besides roll-your-own) OpenFeint is in alpha/beta for WP7 (so Silverlight/XNA would be available too). However the signup hasn't progressed beyond an email saying it's coming soon. OpenXLive is an open version of the XBL leaderboard system. It looks like it's XNA but there are tutorials for Silverlight as well so you can use both. ...


2

As said, you can use Cocos Live for leaderboards. I used it with android projects (Java and C++). I have rewritten the client part in Java (100 lines). Our C++ client uses libcurl and jansson. Cocos Live uses HTTP commands (REST + Json). So it can be implemented easily in many langages. Cocos live pros: Leaderboard server available if you don't need ...


2

Normally they use a third-party binary diff system to distribute patches to the game data. The executables are typically small enough to be trivially distributed entirely. Most modern games have hundreds of megs of game data (mostly textures, models, levels data etc). These require patching quite often. As far as I know, the publishers normally have a ...



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