>Lectorog
Yep, you are right...
>Bauglir
Money is complety problem, unless I go and make this idea be not be free for use but instead need some payment. Which I don't do and instead i'll just say fuck the money I have idea. However I consider idea of setting donations fine but whats probably job of team leader. Consider extremy working one if money is issue. However I won't touch that part myself because just fuck the money! Not literally however, what's just gross. Through ideal guys are still those who have skills, but no ideas or anything to use them. Even better if they are those who loves theirs skills and not money they gains.
As for formal design document, is it okay if i'll give short version there? I am doing this with basis of gained interest. If anything that i'll say gains interest from people i'll continue. Not going waste time to sleeping audience. Okay? There is lots of details to talk about like, even if they are short ones:
-General things.
-Interface and editor, files.
-Scripts, controls, handling game data like enemies, items and maps.
-Graphics, tiles, sprites and 3D models. Screen layers and effects.
-Audio, fore- and background. Background music.
-Miscellanious features.
General things
Project is freeware roleplay game maker. Goal is make it easy to use, light, portable and custominable. Easy of use means both low learning curve for basics and easily accesses features. Lightness means generally processor, memory and disk space usage. This is in terms of modern and few years old machines.
Portability is ability to create, edit and play same game under different OS as long executables are right kind. Data is always same. However this is secondary goal and has low priority unless code can be directly compiled into OS in question. Main OS is current Windows and older versions down to XP. Other ones are variants of Linux and OS X.
Custominable means that many features how game looks like and even many features with editor are possibly to modify. In simplest form this is giving created game any kind of look ranging from different kind of 2D rpgs to 3D of different kind. However most features of editor can be modified by having keyparts of game's data modified. These parts tells to editor how to handle games data, for example layouts of map if they have any.
Interface and editor, files
Interface is doned using native GUI of OS with that program is running. Any interface feature required like menus and buttons are from this. Default state for editor is complety blank until new project is created or old one opened. For projects there are templates. These include all same data as potential game, unless template is blank.
Files and Folders
Several kind of folders exist. There are main folders and sub-folders for various kind of data.
-Main folder, "<insert name of this maker there>". Includes editor's exec file, config.ini and sub-folders. Under main folder is these:
-Template folder, "\templates\<name of template>". Folder "templates" includes sub-folders what are used to create new project. Only blank is not there because it requires only creation of folders.
-Project folder, "\projects\<name of project>". Project's files and sub-folders.
Under any template and project "<name of foo>" is these:
-Executable and config, main folder of "<name of foo>". Includes executable and config.ini for project. With templates directory includes config.ini.
-Graphics and models folder, "\visuals". Any graphical data, tiles, sprites and models are there.
-Audio and music, "\noise". All sound and music files goes there.
-Scripts and data, "\data". Scripts and miscellanious game data is there.
-Maps, "\world". Raw data of maps are there.
For templates config.ini includes title and author information of template. With projects it includes game title and author information for it, but also current state of project. This have current position of editing with map and map being edited.
"\visuals" includes all graphicals files, pictures, tiles, sprites and 3D models. These aren't edited directly by editor so 3nd party editors are required. Valid formats for this folder should be at least .bmp and .png for tiles and sprites, with or without palette. Any other pictures can accept .jpg and any other lossful formats. These files on loading are converted into simpler format and cached. This is doned for speed purpose. Filename can be anything.
"\noise" have audio data and music. Again no direct editing. Unlike with graphics any playable format is handled as available audio library allows. This is due to amount of available audio formats and generally audio being hardest one to handle compared to graphics. However caching file and playing from memory should be available. More information required of library in use. Any filenames.
"\data" is place for anything which tells how game works. All data there is editable by editor itself. Scripts, data of tiles and sprites, hotpoints, all this. Unlike with two earlier folders, filenames are always in format "data????.bin" and "gscr????.bin". First one is for miscellanious data, latter is for game scripts. "????" stands for 0000-FFFF. Those are hexadecimals. How filename is chosen is explained in later sections. Anything in these files are binary and editable in editor.
"\world" has raw data of maps. These can be edited in editor according to rules defined in "\data\gscr0000.bin". These files are named in "????????.map". ???????? again stands for long hexadecimal and is chosen for a reason be long. More about this in later sections.
File menu. Quick access through key Alt+F. Includes these features.
-New project, Control+N. Creates new game project. If there is open unsaved project, confirm is required before proceeding forward. If this happen next is project template to choose or creating new blank project. After template is chosen, title of game, name of game folder and author information are asked.
*Title is one line text and is show on a program's title bar. Default string "game".
*Game folder is name of folder where project is saved. Also name of executable comes from this for project. One line text. Default string "game".
*Author information is multiline text. If game is played this text is show first unless string is empty. Default string empty.
If there is already project under same folder name, another name is request until different name is given. If everything proceed fine, required folders are created and template is copied into it. If template was blank, no data is copied. Required folders and sub-folders are created instead as of empty.
-Open project, Control+O. Opens list of projects in "/projects" folder and loads selected project. Ask for confirmation if unsaved other project is open.
-Close project, no hotkey. Closes current project. Asks for confirmation if project is already open and unsaved. Goes back to blank screen. Menu is grayed our if no project are open.
-Save project, Control+S. Saves data of current project. This save includes all script data, all map data and any pointers into graphics, audios, scripts, maps or !!puppies!!. Also paperdoll layouts and hotpoints for 3D models are saved. Graphics and audio data aren't saved because they aren't edited directly in this editor. Grayed out if no project open.
-Change title, no hotkey. Changes title of game and author data as in creation. Only folder name cannot be change this way as it is grayed out there. No changing of templates either now. Grayed out without open projects.
-Recent project 0-3, no hotkey. Four recently opened projects. Grayed out if no project is opened. If project don't exist anymore, give message and free unused recent project.
-Exit program, Alt+F4. Ends program, asks for confirmation if unsaved project is open.
*****************************************************************
And this concludes rude version of design document demo. If you want see more you must send payment to... fuck with money! Anyway, this is semi-real but fast written example I do these days design documents and really. I do think it should be programmer who should pay us! Seriously, writing these straight into this post reply is hard enough. Over three hours for this and this isn't even everything! It is really true designing is 90% of programming.
Anyway, I am willing do full and fixed version of design documents if anyone has interest there. However I don't give any payment as I am not getting one myself from this at all. Besides anyone who is asking for money should not have any, any rights use free stuff themself, like DF. If Toady should be not doing his works so much, I should go and ask him. Not for date, but as of programmer. However not going do it because I already understand well how busy he is.
And this gives me one important thing come to my mind. This isn't oneshot project which can be doned in overnight or few. Even if I can pay somehow, you aren't any good because you have surely other works later too and jumping between different programmers isn't good idea. Too many cooks will spoils anything. So there must be really stable team or otherwise only few people.
There is certain things also I don't mind of. I do not care about have so called professional programmers as long they can understand concept of human language. Yes, I have seen programmer who do not understand even ours, his and my native language at all. Another is deadlines, there is none. Through it don't mean lacking of. Its means there is no stress for completing anything. Besides, I do anything that my designs are easy enough to implent.
Because I hate both. Money greed people who still likes free stuff and complex things which have thousand too many features...
Plus, I wonder that is limit of text there?...