|
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: http://www.flipcode.com/archives/Programming_a_Virtual_File_System-Part_I.shtml
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
[Senior Software Engineer
Intel -- Visual Computing Software Enabling.]
|
Though there's always further that you can go with a file system, recursing into archives (and archives within archives), networked file systems (do we then want to stream files from the Internet as well?). There really needs to be a good cut off for the feature set otherwise you'll end up reimplementing the operating system itself and more.
Thanks for the feedback. I am looking at PhysicsFS right now. Clearly define the features is important. For example, with large main memory on 64-bit machines, there is an oppertunity to just map all open files into memory. And network file steam sounds interesting (a great way to have dynamically updated content on level load).
Thanks,
Orion
http://www.gleamtech.com/products/filevista/web-file-manager
FileVista is a web file manager for storing, managing and sharing files online through your web browser. It is a web based software which you install on your web server to fulfill web file management requirements of your company or organization. This web file manager allows your users to upload, download and organize any type of file with an intuitive user interface.