Page 1 of 1

[Discussion] Documentation

PostPosted: Mon Nov 17, 2014 18:23
by Evergreen
I have been reading about what makes good documentation recently, and I have noticed how lacking it is in the introductory area.

These blog posts have some great ideas that I think should be taken into consideration:

Note
The documentation in lua_api.txt is great, except it is no help at all to a beginner. We need something more than the tutorial that we currently have. Take django for example, it has some of the best documentation ever written. (imo)

Re: [Discussion]Documentation

PostPosted: Mon Nov 17, 2014 18:28
by Krock
I agree, lua_api.txt is not easy to read but there are already some good articles at the dev wiki.

Re: [Discussion]Documentation

PostPosted: Mon Nov 17, 2014 18:30
by Esteban
+1
I think some pages at dev wiki should add more examples. Most of the trouble I went through was that I did not know where to place given code.

I would like to help, but I don't know much besides basic stuff... :P

Re: [Discussion]Documentation

PostPosted: Mon Nov 17, 2014 18:55
by Evergreen
The wiki is not really kept up to date. I agree that it is very useful, but it would be nice if that documentation was a part of the minetest source code in one way or another.

EDIT:
There are some good articles on the wiki, but they are not organized very well. I think it would be good to create something similar to the Steve Losh's structure.

Re: [Discussion]Documentation

PostPosted: Mon Nov 17, 2014 22:21
by Baggypants
What would be nice for people like me experimenting with mods would be a script that parses all the mods and generates a bunch of html pages with crafting instructions.

Re: [Discussion]Documentation

PostPosted: Mon Nov 17, 2014 22:36
by Sokomine
Baggypants wrote:What would be nice for people like me experimenting with mods would be a script that parses all the mods and generates a bunch of html pages with crafting instructions.

Like a craft guide in html? There is a mod/script out there that creates html pages for individual mods.

Evergreen wrote:The documentation in lua_api.txt is great, except it is no help at all to a beginner. We need something more than the tutorial that we currently have. Take django for example, it has some of the best documentation ever written

For a real beginner, some simple sample code as to how to register a new node and then subsequently adding further features to that node might help most. The current documentation might be a bit overwhelming in that area. And then there's the question of how extensive a tutorial ought to be. Teaching Lua might be beyound its scope. AFAIK there was a basic modding tutorial out there which didn't went very far but showed the basics in an easily comprehensible form.

Re: [Discussion]Documentation

PostPosted: Tue Nov 18, 2014 00:58
by philipbenr
As for html: It would take a bit of css to get the organization really nice and, but you can really easily make a minetest-like-formspec idea in plain html. I will look into the script you described.

Re: [Discussion]Documentation

PostPosted: Tue Nov 18, 2014 02:28
by Linuxdirk
Is there something like PHPDoc for Lua? That would minimize the amount of redundancy since all API calls can be documented in the source code and online documentation can be generated from it.

Re: [Discussion]Documentation

PostPosted: Tue Nov 18, 2014 07:47
by rubenwardy
Doxygen supports Lua, iirc.

An automatic craft guide website wouldn't work for my food mod, as the craft recipes change depending on what other mods are installed.

Re: [Discussion]Documentation

PostPosted: Tue Nov 18, 2014 09:11
by Sol
rubenwardy wrote:Doxygen supports Lua, iirc.

A proof link, please?

Re: [Discussion]Documentation

PostPosted: Tue Nov 18, 2014 09:42
by twoelk
I guess the main problem is not so much the form or the content but rather the commitment. Writing a good documentation is hard work and with a project as this it is pretty much endless and allready huge. Here is for example a very incomplete list of some of the mods made for Minetest. Feel free to add information. I presume though with a developing software such as Minetest happily is such a list could never offer all the information a player really needs. Very important for example would be to know for each mod for what Minetest version exactly the mod still works. Happy testing.

The Mod Database is allready a pretty good start but it lacks contributers that add the hundreds of mods that exist and test them and describe them and take pics and ...
Besides that it wants the mod-makers to manually update any changes such as download links for new versions. For it to really work the Mod-Database probably expects to much work from modders that work with rolling releases for example.

I personally think the wiki at http://wiki.minetest.net is the best place to gather information and links for the usuall player, just as the http://dev.minetest.net is for those wanting to start developing. I don't say they are perfect yet but we still have to find the knowledgable writer with ambition, time, commitment and good style to help us out. Once the basic information is complete things like this "Beginners Guide to Modding" should be a lot easier to put together. Maybe the dev-wiki could use a better category system or rather at least make full use of it.

There still seems to be some work ongoing for a single or double A4/letter size cheatpage for the basic things to know when playing Minetest but it hasn't been presented yet. (poke-poke-at-hoodedice)

Interestingly the Minetest download does contain a doc folder with usefull content. It might not be that reader friendly but the irritating thing is people asking for documentation are often fully unaware of its existence. I guess this can only be helped (a little at least) with a nice help page within the running program that offers information on where to locate help. Although if this includes hand copying long path addresses most will probably not bother and rather ask for links in the forums or IRC. People are used to having information just one click away.

As Sokomine mentioned Cornernote once wrote a script that extracts information and puts it into a wiki of sorts:
cornernote wrote:Game Wiki for Minetest

Description
Extracts all in-game items which can then be viewed on a website.

Server admins may want to make this website public so that players can learn more about the world.

It works as follows:

  • install (see the README.txt)
  • load your game, which dumps all the items to JSON encoded strings inside wikidata/
  • load import.php in a browser to import the JSON data into SQLite3
  • optionally recompile minetest to extract cubeimages
  • that's all, now you can browse your own Minetest GameWiki!

Though alone not that pretty it may serve well as a base to start a documentation from. Sadly you have to do some work yourself to have this thing work, so no one-click-solution.

By the way I think the same of any other automatic systems I have yet seen. They might generate some basic info but it usually needs some write up to be comprehensible and usefull for the common newbie who would be the average customer searching for help and above all guidance.

eh - too much text - no one is gonna read this - just like the allready existing docs

Re: [Discussion]Documentation

PostPosted: Tue Nov 18, 2014 10:35
by Topywo
twoelk wrote:eh - too much text - no one is gonna read this - just like the allready existing docs


Read it ;-)

Re: [Discussion]Documentation

PostPosted: Sat Dec 06, 2014 09:07
by Calinou
I would like a lua_api.html – basically lua_api.txt, but in HTML form. Or, perhaps a lua_api.md in Markdown.

twoelk wrote:Very important for example would be to know for each mod for what Minetest version exactly the mod still works. Happy testing.


In our day and age, mods rarely break (however, most outdated mods aren't nearly as good as recent ones). Only mods made prior to 0.4.0 release are likely to not work.

rubenwardy wrote:Doxygen supports Lua, iirc.


I've heard that MOBF uses it, but its use in all mods would probably be frowned upon, judging how it looks “bloated”.

Re: [Discussion] Documentation

PostPosted: Sat Dec 06, 2014 13:22
by Evergreen
I don't think automated documentation is a good idea. Please read Steve Losh's blog post before you post here.

Re: [Discussion] Documentation

PostPosted: Sat Dec 06, 2014 13:47
by hoodedice
poke-poke-at-hoodedice


*cough* finals next week *cough*