English | 中文 | Русский | Français
2,856 Posts served
8,606 Conversations started
Programming a game is fun. It’s not every day that you get to work on algorithms for things like zombies, mechs, or aliens. However, a zombie wouldn’t be very scary if you couldn’t load the mesh, textures, or sounds. There are some less glorious tasks required to make a game. No one really wants to write a file manager. But a good file manager will allow you to stream better content, load and manage bigger/more files, and generally have a better game.
I often ask game developers “what do you want?”
In other words, I really want to know what technologies game developers are interested in. More to the point, I am interested in technologies that they wish someone else would helped implement. One common answer is “give me a file/memory manager… no one wants to write a file/memory manager.” I’ll write another blog about the memory manager part ;)
I am researching the needs of a good generic file manager for games.
Here is what I think is required:
- Designed for games
- Platform independent
- Multithreaded
- Open source
- Support streaming content
- Support archives
There are some good articles about file systems on the internet.
Michael Walter wrote a good article on FlipCode about virtual file systems.
However, there is little about open source file systems and desired features for a file manager for games.
I need your help.
What do you want?
Is there a good open/closed source project already in the works?
What features would make a great file system for games?
Thanks,
Orion
| March 12, 2009 9:25 AM PDT
Orion Granatir (Intel)
|
Hey James, Thanks for the feedback! I check out PhysicsFS right now. The presentation by Mike Wall looks interesting. - Orion |
| March 26, 2009 5:09 AM PDT
Aaron Coday (Intel)
| One additional parameter that is useful to consider is the type of the media itself. Is the medium Hard drive, CD, DVD, Blu-ray? Additionally with modern desktops we're starting to see SSD drives, who's performance is different yet still. |

James Munro
In a presentation, Mike Wall of AMD suggested ways of improving games for the 64-bit architecture. He mentioned that files could now be mapped entirely to memory using CreateFileMapping and MapViewOfFile, letting Windows deal with the disk and RAM. The performance would scale with increased physical RAM - http://developer.amd.com/assets/AMD_GDC_2005_Mike_Wall.pdf
Perhaps this is a way that game file managers could be modernised? As for multi-threaded, this seems like a great way of reducing load times.
I personally feel that the size of games content needs to be reduced to make the digital distribution of content over the net quicker and easier. Games are now multi-gigabyte and this makes downloading large amounts through Steam a pain, especially in limited bandwidth areas. Perhaps this could be supported through higher levels of compression, leveraging multi-threaded decompression to load.
Or, perhaps even a run-once decompression after downloading, inflating the content for use :)
James