RPG games from end of 90th got a huge support of modder's community.
At start we dont even know how does our loved games programmed, some of them were like blackbox.
But purposeful and skilled people make reverse engineering of formats, engines and create documentation for script API.
After 5-6 years we got a lot of tools, editors, patches, extractors and convertors.
Some mods were successfuly created even for "blackbox" games.
I wont to ask open source engine because it cost too much for project with such small budget. Quality of game is more important than source code.
But I want ask you to spend 1% extra time for benefits in future.
Nothing can be perfect and in each game I want to change something.
That is really bad if I cant because of lazy programmer.
For me "modding-friendly" is:
- Don't hard-code anything! Please!
- Where it possible: choose non-proprietary or well-documented formats for textures, music, video, etc.
That guarantee anybody can easily edit game without special tricks.
- Use text and XML-like formats instead of binary.
- Use uncompressed formats or share uncompressed source as well.
Game will be mostly distributed as digital version, so you don't need to compress anything only to put in on one CD/DVD.
- Try to provide us non-engine source code of all scripts, shaders, etc.
- Keep all documentation and every small file used in development.
Make everything public after game release.
- Please share design document or internal wiki content as well.
Probably some features will not included because of development cycle and budget.
Most of us understand all this limitations, dont be scared to share all these ideas.
- ... DO NOT hard-code guys! ...
- I wont repeat it three times!
With a good documentation community can create their own toolset.
Your art, 3d models, text, non-impletated ideas and removed features can become a good base for thousands quality of modifications.
Publishers wont share any extra content because they want to sell DLC, but this project its special.
Modding community can continue to improve game even for 10 years after release!
Let us do that! We will make game of our dream!
I think there is lots of people from community like NMA, so you need to add something else.
My English is bad, so try to understand its directly like if i used google-translate.
. . . . . . . . . . . . . . . . . . . . .
PS: Additional list of interesting ideas and important things:
- From The Tallest post: Developer's Console
- Me: Do not remove all internally systems like scripts debugging mechanisms from public builds.
- Please use world standard UTF-8 encoding for all text data. It makes any translation/writing much easier.
I was huge problems in Skyrim because russian-language interface and part of localisation was in CP-1251
- Give us .ini config with thousands of groups and options.
All engine options should be available in .ini configuration file even if they will be not available in menu.
Its very useful when we can completely tun off some sub-systems, see FPS, wireframe or some debug info. If we want to.
- From google moderator idea from Deerman: Proper multicore support.
Please think about future modders and give us bariers to use really huge textures or arrays of text or lots scripts.
Optimize game engine not just for basic game, but for mods as well.
And give us to set up all limitation by the config files.
I will add everything important in first post.
As well you can manage to release pre-builded binary engine and game source code under any possible license.
Its shouldn't be so hard for licensing, because there isn't much difference between .obj/.lib compiled engine and complete executable file.
But game code release give great benefits for serious modifications, so every C++ programmer can add some functionality to the game and build it.
Scripts doesn't give enough functionality and usually mods patch game and engine code in memory.